Closes #20
Closes #17