really cleaned up movement, working on guard behavior