Use Q.js and promises
Version 1.0.3