implement server simulation