map components by id, not name