return true if validation passes