use bn.js instead of bignum