just use a middleware