I think this should be runnable except for made up port numbers. can't
test it yet though