work on issues #102, #104, #112, #106