Closes #9
Closes #14, #13, #11, #10, #3, #9