Feature/request specific middleware

resolve #60