preparing better promise loop chain