Adding better documentation, restructuring some of the packages.