added isInRange and now using BigInteger for IPv6