porting to requests