void setActiveNode(Node selectedPoint) throws Exception {
        System.out.println("Active: " + selectedPoint.id);
        nodePanel.removeAll();
        Box pan = Box.createVerticalBox();
        isStart = new JCheckBox("Starting point");
        isStart.addActionListener(this);
        int start = 0;
        
        if(selectedPoint.id == start){
            isStart.setSelected(true);
            isStart.setEnabled(false);
        }
        selectedNode = selectedPoint;
        pan.add(isStart);
        TaskReader json = new TaskReader(folder);
        Set<String> objectList = json.getAppliances();
        chooser = new JComboBox(objectList.toArray());
        pan.add(chooser);
        Box buttens = Box.createHorizontalBox();
        JButton adder = new JButton("Add");
        adder.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                selectedNode.addObject(chooser.getSelectedItem().toString());
                try {
                    setActiveNode(selectedNode);
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
                repaint();
            }
        });
        buttens.add(adder);
        JButton remover = new JButton("Remove");
        remover.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                selectedNode.removeObject(lister.getSelectedValue().toString());
                try {
                    setActiveNode(selectedNode);
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
                repaint();
            }
        });
        buttens.add(remover);
        pan.add(buttens);
        Iterator it = selectedPoint.types.iterator();
        ArrayList<String> list = new ArrayList<>();
        while(it.hasNext()){
            Appliance obj = (Appliance) it.next();
            list.add(obj.type);
        }
        Object[] nodeObjects = new Object[list.size()];
        for(int i = 0; i < nodeObjects.length; i++){
            nodeObjects[i] = list.get(i);
            System.out.println(list.get(i));
        }
        lister = new JList(nodeObjects);
        lister.setVisibleRowCount(5);
        pan.add(lister);
        posepanel = Box.createVerticalBox();
        pan.add(posepanel);
        lister.addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent lse) {
                if(!lse.getValueIsAdjusting()){
                    String selected = lister.getSelectedValue().toString();
                    final JTextField poses = new JTextField(7);
                    for(final Appliance app: selectedNode.types){
                        if(app.type.equals(selected)){
                            StringBuffer sb = new StringBuffer();
                            for(String pose: app.getPoses()){
                                sb.append(pose).append(" ");
                            }
                            poses.setText(sb.toString());
                            JButton update = new JButton("Update");
                            
                            update.setPreferredSize(new Dimension(70, 30));
                            update.setAction(new AbstractAction("Update"){
                                
                                @Override
                                public void actionPerformed(ActionEvent ae) {
                                    selectedNode.updatePoses(app, poses.getText());
                                }
                            });
                            posepanel.removeAll();
                            posepanel.add(new JLabel("Poses(space separated)"));
                            posepanel.add(poses);
                            posepanel.add(update);
                            pack();
                            
                        }
                    }
                }
            }
        });
        nodePanel.add(pan);
        pack();
    }