Fixes #35 Fixes #34 Fixes #33