Fixes #27
Fixes #21
Fixes #24