Merge pull request #30 from bastibe/a-part-of-22

A lot of smaller improvements based on #18, #22, and #30.
WIP the rest