closes #10 closes #6