split server.go into small files