whole vertex generation