closes #4 closes #5