fixes #35, fixes #34, fixes #33