resolve issues #106 #107 #96 #95