closes #34
closes #31
fixes #35