updated error message handling