got IPv6 working correctly using bitwise operations and noting that one byte is taken at a time