Refactor movement and weapons