improve unifier