fixes #109
fixes #112
fixes #106 fixes #104