Lets try and support UDP and TCP