Fixes #12.  Fixes #13.  Fixes #14.  Fixes #15.