make param handler lazy, simplify request handler