This closes #30.