Initial work on #1, more work on #26
Resolves #33