at this point it looks like you're using "tag" variables to store nodes. Can we change the code so that it's obvious you're buffering nodes, rather than tags? (they are very different things)