promises.js closer to the specs now