fixes #14
fixes #8
fixes #12