Closes #20.