closes #34, closes #35