uncommented server function