Closes #10. Ready to merge into master!