Fixed #33
Fixed #35
Fixed #23
Fixing #24 - in progress, needs verification
Fixed #30
Fixed #36