refactor, think about routing, connections, remoting.