Added auth function and abstracted route building to allow for specific verbs and middleware.