added SelectionFusingVisitor