add DifferentialGeometry