uncoupled validation provider from view model