Fixes #10, Fixes #7, Fixes #6