2013-02-23 - Jonathan Morgan - added better documentation - code was reasonably re-usable.  What do you know?