changed vertextype from struct to class so there's more granularity in handling the vertices