further refined validations and errors