Develop
Resolves #9 (closed), #17 (closed) and writes some tests for #4, #7 (closed), #11 (closed) effectively also resolving #11 (closed)
Resolves #9 (closed), #17 (closed) and writes some tests for #4, #7 (closed), #11 (closed) effectively also resolving #11 (closed)