validation is in place, checks updated for better error messages