add the q promise