public GamePanel() {
		setPreferredSize(gameDim);
		setBackground(Color.WHITE);
		setFocusable(true);
		requestFocus();
		// Handle all key inputs from user
		addKeyListener(new KeyAdapter() {
			@Override
			public void keyPressed(KeyEvent e) {
				Engine.KeyPressed(e);
			}

			@Override
			public void keyReleased(KeyEvent e) {
				Engine.KeyReleased(e);
			}

			@Override
			public void keyTyped(KeyEvent e) {

			}
		});

		addMouseListener(new MouseListener() {
			@Override
			public void mouseClicked(MouseEvent e) {

			}

			@Override
			public void mouseEntered(MouseEvent e) {

			}

			@Override
			public void mouseExited(MouseEvent e) {

			}

			@Override
			public void mousePressed(MouseEvent e) {
				Engine.MousePressed(e);
			}

			@Override
			public void mouseReleased(MouseEvent e) {
				Engine.MouseReleased(e);
			}
		});

		addMouseMotionListener(new MouseMotionListener() {
			@Override
			public void mouseDragged(MouseEvent e) {
				Engine.MouseMoved(e);

			}

			@Override
			public void mouseMoved(MouseEvent e) {
				Engine.MouseMoved(e);

			}
		});
	}