Hi Alex and thanks,
Filtering is not good for me as it takes a lot of time. I have done a sub-graphing(filtering) version of my code but its very slow (no need to explain why as its not related).
Ill try to rethink my sub graphing version though, thanks.
I have also done a version that uses an exemption when the visitor hits the limit but I believe this leaves some incomplete things.