return, consolidated error handling