new request framework, supports get only