better family and protocol support

This is so we don't later have problems with ipv6...