refactor bignumber method