implement IPv6 support