This would be much easier with a node list. How much overhead would it be to keep one around? I would think not much.