updated error handling
requires simplon/error