remove some promises for speedup
updated Q
remove some promises for speedup