https://medium.com/@kayodeolaoye18/best-practices-for-arranging-middleware-functions-in-node-js-applications-42ae15b635d1