Figure 5:
Middleware