Various refactoring I have probably forgotten about. Check the diff. Mostly minor, but a lot of it. Main thing is I added random trees.