fixes #90, fixes #88, fixes #92