middleware, hijack reverse