Fixes #6
Fixes #14
Fixes #24
Fixes #43