change blocking request -> async request