Test updates

- Got coverage up to 95%
- Updated test cleanup so it works consistently
- Fixes #24 
- Fixes #22 
- Renamed some files for easier reading

Sorry this is so big. Needed lots of changes to make coverage testing even possible.
not needed since the above 2 conditions return