added additional error messages & handling