Some speed optimization for Q promises