finish basic BigInteger, multiple should be improved to O(n)