Big dump of new code

Needs a lot of attention. Some old stuff needs to be cleaned out,
methods need to be commented, and there needs to be an extensive readme.
some changes
changes
few more changes