     switch path
       when '/kcsapi/api_start2'
         # Ships can be owned by player only, sorted by sortno.
-        ships = []
-        for ship in body.api_mst_ship
-          continue unless ship?.api_sortno
-          ships[ship.api_sortno] = ship
-        shipgraph = []
-        for ship in body.api_mst_shipgraph
-          shipgraph[ship.api_id] = ship
+        ships = map body.api_mst_ship, (ship) -> pick(ship, ['api_id', 'api_name', 'api_sortno'])
+        remove ships, (ship) -> !ship.api_sortno
+        ships = keyBy ships, 'api_sortno'
+
+        shipgraph = map body.api_mst_shipgraph, (ship) -> pick(ship, ['api_id', 'api_filename'])
+        shipgraph = keyBy shipgraph, 'api_id'
 
         localStorage[LOCALSTORAGE_DATA_KEY] = JSON.stringify {ships, shipgraph}
         @setState

          }
          </Button>
        </Col>
      </Row>  
      </Grid>

      <div className="divider">

                }
              </option>
            )
            for i, ship of @state.ships
              continue unless ship?
              options.push(
                <option key={i} value={ship.api_id}>
