refactored the shit out of the routes