make chain() sequentialize asynchronous operations