switch promises library -- use bluebird