closes #126 closes #129