static void Main(string[] args) { // setups don't get timed. ReadMap(); LinkMap(); SetOutput(); SetShowStatus(); if (_output == OutputType.Png) { _gd = new PngData(); _gd.DrawBase(MapCells); } var cells = MapCells.ToList(); _areas = MapCellsToAreas(cells); if (_output == OutputType.Png) { _gd.DrawAreas(_areas); } Stopwatch sw = new Stopwatch(); sw.Start(); var firstPieces = FindInitialAreas(); ProcessAreas(firstPieces); sw.Stop(); _timeSpan = sw.Elapsed; DoOutput(); }