UPNP kinda working. Needs more testing.