added response class, middleware does not require route anymore