closes #10
closes #9
closes #8
closes #7
closes #6