middlewares splitted into separate files instead of all living together in cipherlayer.js