client & server functioning