Vertex validation code changes

This is the final pieces of code described in @ldcorpe 's talk on Monday