Fixes #72
Fixes #18
Fixes #54
Fixes #53
Fixes #52
Fixes #50
Related to #52 and fixes #51