numerically better?

have to double check, but: was definitely getting int overflow in
previous implementation.  probably still need to ID where need to
switch to BigInt