make manifold optional
pre solve