closes #7 closes #9