fixed  #25 #26 #27