fix bug; close #21