added request class to help build request