fix bug; close #20