refactor the data structure: store vertex object in vertex successor