send exceptions to console.error
fix merge errors; convert new Deferred objects to Promises