code: func (s *Simulation) WithServer(addr string) *Simulation {
  	//assign default addr if nothing provided
  	if addr == "" {
  		addr = DefaultHTTPSimAddr
  	}
  	log.Info(fmt.Sprintf("Initializing simulation server on %s...", addr))
  	//initialize the HTTP server
  	s.handler = simulations.NewServer(s.Net)
  	s.runC = make(chan struct{})
  	//add swarm specific routes to the HTTP server
  	s.addSimulationRoutes()
  	s.httpSrv = &http.Server{
  		Addr:    addr,
  		Handler: s.handler,
  	}
  	go func() {
  		err := s.httpSrv.ListenAndServe()
  		if err != nil {
  			log.Error("Error starting the HTTP server", "error", err)
  		}
  	}()
  	return s
  }
docs: //WithServer implements the builder pattern constructor for Simulation to
  //start with a HTTP server