Closes #19, closes #21.