Long time no commit, so big one: resolves #80, fixes #81, fixes #82, resolves #83, resolves #84, fixes #85, fixes #86, fixes #87, fixes #88, fixes #89