IE8 support: reaplaced promise.catch with promise.then(null, function)