Heaps of documentation added.