fixes #2
fixes #1
fixes #3