added model validator trait