added descriptive error messages