fixed q promise