Fixed #112
Fixed #111
Fixed #115
Fixed #123