ok, I'm happier with that now. The code is much easier to follow now
that it has been split up a bit.