Closes #1 closes #3