I'm so excited. Fixes #72. Fixes #78. Fixes #77. Fixes #75. Fixes #76.