This code is kind of rough (passing the remote servers down a long chain), but is a step towards improvement.