removed to_singular
updated version