server split into modules