restructure for event handling
half functioning movement