do request function