compliting middlewares