~ cleaned, todo: update only relevant vertexes