Cleaner implementation of shared vertices
Split up vertex distribution function