basically working client server pair