big controller refactor, middleware, helpers, responders, error handling