start putting in generic request handler