validator framework