Feature/cover with tests

I added a lot of tests, but we're not at 100% coverage yet. There are some things I still need to work out, but this is a big enough fix/addition that I want to go and get this merged so future work can be done by looking and how these tests are set up.
The green dots do make me feel nice tho