writing product validations