closes #8. closes #6.