use then/catch instead of then(success,error) + improved error handling ...

...by leveraging errorCallback