adding interface for middleware
class files have to be lowercase