fixes #30
fixes #28
fixes #31
testing for #6