Cleanup

Closes #3, closes #5, closes #6, closes #7, closes #8, closes #9