#3: removed almost everything, can create vertexes