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