I make a promise to use Q for promises