server communication functions