smaller more reusable methods for the router