Fixes #5. Fixes #6. Fixes #8.