fix #2 , fix #4