Better error management

using `.catchError` is a good practice to cacth errors throws during the `then` handler.