cleaned up some comments, added Graham's suggestions regarding 'static const' variables. Left includes as they were because otherwise my testing setup broke.