deal with singular points