added MouseMotionListener
moved MouseListener to seperate class