fixes #95
fixes #96
fixes #97
fixes #98
fixes #99
fixes #100
fixes #101
fixes #102
fixes #103
fixes #104
fixes #105
fixes #106
fixes #107
fixes #108
fixes #109
fixes #110
fixes #111
fixes #112
fixes #113
fixes #114