Large documenation rewrite and cleaned up some code