major simplification, we don't need edges