nearly completed unifier