add generic request handler