Move component with Data Trees

Each column of three circles composes a branch of the data tree that I am trying to manipulate. What I want is for the move function to match each column of circles to one of the points in the list of translation vectors. If all worked accordingly, each column would then move as a unit. Instead, I get the jumbled mess below. I think that there must be a simple fix to this problem having to do with the underlying way that I am manipulating the data tree. Please help! (11.6 KB)

Graft the T input of Move.

That works! Would you mind explaining why?

You wont really understand until you study how data trees work in grasshopper. But in short, by grafting you make each point its own list. In Gh lists match with lists. 3 lists of points, 3 lists of circles. So the first list of one point goes to the first list of 3 circles, and so on - of course this case is a very simple one, it can get much more complex.

If you do not graft like you had initially you have one list of 3 points, because of longest list rules that one list gets matched to all the lists of circles.

Have a look here specifically in the section about data trees, Sections 1.4 and 1.5: