[promises] use node-promises my my I hate callbacks