splitted client and server