Closes #17, #22