closes #111, closes #84