closes #35, closes #7