remove Vertex::val. Use ::Position() instead