Move forward to a middleware that create virtual api