Fixes #8
Fixes #15
Fixes #7
Fixes #6