compiles, only some methods in vertex left to add