fix #34 , fix #37 , double fix:)