More updates to come

Let me know before you merge this in. I will be writing some tests for all the updates I did.