input and movement