replaced vertices.create() with vertices.get_or_create() to avoid duplication