added deffered with bluebird