Fixes #2. Fixes #11. Fixes #12. Fixes #14.