updating to use biginteger again (damn you problem 25\!)