operate on nodes