This closes #20