make validation a service