Polished Validation to be generic