fixes #7, fixes #8, fixes #9