Added a bunch of comments. Some are unfinished.
cleaned up ignores
cleaning up more
more cleaning
overhauled a lot, code is ready for testing