added server functionality