added middlewares
example project
updated documentation