closes #9 and closes #8