solve issue #27, #29