@Override
    public void keyPressed(KeyEvent event) {
      // SPECIAL KEYS
      int keyCode = event.getKeyCode();
      switch (keyCode) {
        case KeyEvent.VK_DELETE:
          ConstructionElement ce = kernel.getConstructionElement(kernel.getConstructionStep());
          if (ce != null) {
            ce.remove();
            app.storeUndoInfo();
          }
          break;

        case KeyEvent.VK_UP:
        case KeyEvent.VK_RIGHT:
          previousStep();
          scrollToConstructionStep();
          break;

        case KeyEvent.VK_DOWN:
        case KeyEvent.VK_LEFT:
          nextStep();
          scrollToConstructionStep();
          break;

        case KeyEvent.VK_HOME:
        case KeyEvent.VK_PAGE_UP:
          setConstructionStep(-1);
          scrollToConstructionStep();
          break;

        case KeyEvent.VK_END:
        case KeyEvent.VK_PAGE_DOWN:
          setConstructionStep(kernel.getLastConstructionStep());
          scrollToConstructionStep();
          break;
      }
    }