Fixes #1, Fixes #4, Fixes #5