writing product validation