not using q/promises in lib