non-manifold case added