Closes #7
Closes #8, Closes #9