abstracting validator logic from super class