Move validators to a seperate class and add range iterators.