Use traversal.

I CAN'T BELIEVE THIS ALL SEEMS TO WORK.........