"Working" collision, user input and movment