closes #17 closes #16