fixes #11
fixes #9
fixes #8
fixes #10