added client/server stuff