adapted to server architecture