Fixes #3, Fixes #4, Fixes #7