shotload of documentation and moving classes around
more documenting.