Framework near completion

Everything is almost completed except the GUI and randomization
elements. I'm going to keep working on the small stuff until good
solutions for the two come to me