closes #128 closes #107