reformatting
making it possible to control batch size of nodes
using an iterator instead of totallylazy collections - couldn't work out why it wasn't releasing for GC
reuse the map for uber speed
tidying up
making everywhere use iterator