validate function