further modularizes server