Restructered so that there is no client/server.