move visitor into rework-visit