Added a modular server function