closed issues #2, #3, #4