refactored the steering related code into its own class