closes #8 closes #9