fixes #41
fixes #44
fixes #45
fixes #46
fixes #47