public static void main (String agrs[])
	{
            
            try
            {
                droneControl = new CustomDroneControl();
            }
            catch(Exception e)
            {
                if(droneControl != null)
                    droneControl.Abort(e);
                else
                    e.printStackTrace();

                System.exit(-1);
            }
            
            if(droneControl.isInitiated())
            {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        CreateJFrame();
                    }
                });
                
            }
            
            keyboardCommandManager = new KeyboardCommandManager(droneControl.Drone);
		
            KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
            manager.addKeyEventDispatcher( new KeyEventDispatcher() {
    	
                public boolean dispatchKeyEvent(KeyEvent e)
		{
                    if (e.getID() == KeyEvent.KEY_PRESSED) 
                    {
                        keyboardCommandManager.keyPressed(e);
                    } 
                    else if (e.getID() == KeyEvent.KEY_RELEASED) 
                    {
                        keyboardCommandManager.keyReleased(e);
                    }
                    return false;
		}
            });
	}