make it an example of middleware