closes #7 closes #8