movement based on theta instead of direction vector