improve the request helper