Fixes #26, Fixes #11, Fixes #60