use bn.js so that large integers work