added server and unit test