Fixes #7, fixes #8, and fixes #11
Fixes #5
Fixes #3
Fixes #2
Fixes #1