diff --git a/mitm_tooling/transformation/superset/asset_bundles/asset_bundles.py b/mitm_tooling/transformation/superset/asset_bundles/asset_bundles.py
index fd769bb5572e325793ca5b2df08f2b3f27343442..9a81e54ea6f29e87db0be4ce1c95072ca80f17a2 100644
--- a/mitm_tooling/transformation/superset/asset_bundles/asset_bundles.py
+++ b/mitm_tooling/transformation/superset/asset_bundles/asset_bundles.py
@@ -132,7 +132,7 @@ class SupersetVisualizationBundle(SupersetAssetBundle):
 class SupersetMitMDatasetBundle(SupersetAssetBundle):
     mitm_dataset: SupersetMitMDatasetDef
     datasource_bundle: SupersetDatasourceBundle
-    visualization_bundle: SupersetVisualizationBundle = pydantic.Field(default_factory=SupersetVisualizationBundle)
+    visualization_bundle: SupersetVisualizationBundle
 
     @property
     def identifiers(self) -> MitMDatasetIdentifierBundle:
diff --git a/mitm_tooling/transformation/superset/from_sql.py b/mitm_tooling/transformation/superset/from_sql.py
index 252c9c383528d66330db22c91694d278aeb695b3..490215d06c72c68fbc34d0eed0c729f2d3efff58 100644
--- a/mitm_tooling/transformation/superset/from_sql.py
+++ b/mitm_tooling/transformation/superset/from_sql.py
@@ -4,7 +4,7 @@ from mitm_tooling.extraction.sql.data_models import DBMetaInfo
 from mitm_tooling.extraction.sql.data_models.db_meta import DBMetaInfoBase
 from mitm_tooling.extraction.sql.db import connect_and_reflect
 from .asset_bundles import SupersetDatasourceBundle, \
-    SupersetMitMDatasetBundle, DatasourceIdentifierBundle, MitMDatasetIdentifierBundle
+    SupersetMitMDatasetBundle, DatasourceIdentifierBundle, MitMDatasetIdentifierBundle, SupersetVisualizationBundle
 from .common import DBConnectionInfo, MitMDatasetInfo
 from .common import _mk_sqlite_engine, SQLiteFileOrEngine
 from .factories.database import mk_database
@@ -57,7 +57,9 @@ def db_meta_into_mitm_dataset_bundle(db_meta: DBMetaInfoBase,
                                    header=dataset_info.header,
                                    database_uuid=datasource_bundle.database_uuid,
                                    table_uuids=datasource_bundle.dataset_uuids)
-    return SupersetMitMDatasetBundle(mitm_dataset=mitm_dataset, datasource_bundle=datasource_bundle)
+
+    viz_bundle = SupersetVisualizationBundle(named_charts=identifiers.ch_id_map, viz_collections=identifiers.viz_id_map)
+    return SupersetMitMDatasetBundle(mitm_dataset=mitm_dataset, datasource_bundle=datasource_bundle, visualization_bundle=viz_bundle)
 
 
 def db_into_superset_datasource_bundle(arg: SQLiteFileOrEngine,
@@ -88,4 +90,5 @@ def db_into_mitm_dataset_bundle(arg: SQLiteFileOrEngine,
                                    header=dataset_info.header,
                                    database_uuid=datasource_bundle.database_uuid,
                                    table_uuids=datasource_bundle.dataset_uuids)
-    return SupersetMitMDatasetBundle(mitm_dataset=mitm_dataset, datasource_bundle=datasource_bundle)
+    viz_bundle = SupersetVisualizationBundle(named_charts=identifiers.ch_id_map, viz_collections=identifiers.viz_id_map)
+    return SupersetMitMDatasetBundle(mitm_dataset=mitm_dataset, datasource_bundle=datasource_bundle, visualization_bundle=viz_bundle)
diff --git a/mitm_tooling/transformation/superset/interface.py b/mitm_tooling/transformation/superset/interface.py
index abee4c3cba8313db38bef11b13bcd110253f474e..48bdfd91bd7b3db97076f4dbc9874aa8b8b16cb5 100644
--- a/mitm_tooling/transformation/superset/interface.py
+++ b/mitm_tooling/transformation/superset/interface.py
@@ -16,12 +16,12 @@ def mk_superset_datasource_bundle(header: Header,
 
 
 def mk_superset_visualization_bundle(header: Header,
-                                     mitm_dataset_identifiers: MitMDatasetIdentifierBundle,
+                                     identifiers: MitMDatasetIdentifierBundle,
                                      visualization_types: Iterable[
                                          VisualizationType],
                                      just_placeholders: bool = False) -> SupersetVisualizationBundle:
     return SupersetVisualizationBundle.combine(*(
-        mk_visualization(vzt, header, mitm_dataset_identifiers, just_placeholders=just_placeholders) for vzt
+        mk_visualization(vzt, header, identifiers, just_placeholders=just_placeholders) for vzt
         in set(visualization_types)
     ))
 
diff --git a/mitm_tooling/transformation/superset/visualizations/abstract/mitm.py b/mitm_tooling/transformation/superset/visualizations/abstract/mitm.py
index e62eaa4ee3554cd1ee9660d76cea13c1ff56257c..e168f75e9cf1202238be90ca0164639af91463a1 100644
--- a/mitm_tooling/transformation/superset/visualizations/abstract/mitm.py
+++ b/mitm_tooling/transformation/superset/visualizations/abstract/mitm.py
@@ -52,22 +52,24 @@ class MitMVisualizationsCreator(ABC):
                                         mitm_dataset_identifiers.ch_id_map,
                                         dashboard_identifier=find_dash_id(mitm_dataset_identifiers,
                                                                           self.viz_collection_name,
-                                                                          name),
+                                                                          creator.viz_name),
                                         viz_collection=self.viz_collection_name) for
                 name, creator in creators.items()}
 
     def mk_placeholder_bundle(self,
                               mitm_dataset_identifiers: MitMDatasetIdentifierBundle) -> SupersetVisualizationBundle:
         from .placeholders import EmptyDashboard
+        creators: dict[str, DashboardCreator] = {name: constr(self.header, mitm_dataset_identifiers.mitm_dataset) for
+                                                 name, constr in self.dashboard_creator_constructors.items()}
         return SupersetVisualizationBundle.combine(*(EmptyDashboard().mk_bundle(mitm_dataset_identifiers.ds_id_map,
                                                                                 mitm_dataset_identifiers.ch_id_map,
                                                                                 dashboard_identifier=find_dash_id(
                                                                                     mitm_dataset_identifiers,
                                                                                     self.viz_collection_name,
-                                                                                    name),
+                                                                                    creator.viz_name),
                                                                                 viz_collection=self.viz_collection_name)
-                                                     for name in
-                                                     self.dashboard_creator_constructors))
+                                                     for name, creator in
+                                                     creators.items()))
 
     def mk_bundle(self,
                   mitm_dataset_identifiers: MitMDatasetIdentifierBundle) -> SupersetVisualizationBundle:
diff --git a/mitm_tooling/transformation/superset/visualizations/registry.py b/mitm_tooling/transformation/superset/visualizations/registry.py
index 1cbc1e4325dca5e8dce94869805578d35bc2c8f4..cf19ff1b7699c0151b62d00c0f225d33b3ff42f2 100644
--- a/mitm_tooling/transformation/superset/visualizations/registry.py
+++ b/mitm_tooling/transformation/superset/visualizations/registry.py
@@ -23,20 +23,20 @@ def get_mitm_visualization_creator(mitm: MITM, visualization_type: Visualization
 
 def mk_visualization(visualization_type: VisualizationType,
                      header: Header,
-                     mitm_dataset_identifiers: MitMDatasetIdentifierBundle,
+                     identifiers: MitMDatasetIdentifierBundle,
                      just_placeholders: bool = False) -> SupersetVisualizationBundle | None:
     if (creator_cls := get_mitm_visualization_creator(header.mitm, visualization_type)) is not None:
         creator = creator_cls(header)
         if just_placeholders:
-            return creator.mk_placeholder_bundle(mitm_dataset_identifiers)
+            return creator.mk_placeholder_bundle(identifiers)
         else:
-            return creator.mk_bundle(mitm_dataset_identifiers)
+            return creator.mk_bundle(identifiers)
     return None
 
 
 def mk_visualizations(visualization_types: Iterable[VisualizationType],
                       header: Header,
-                      mitm_dataset_identifiers: MitMDatasetIdentifierBundle,
+                      identifiers: MitMDatasetIdentifierBundle,
                       just_placeholders: bool = False) -> dict[VisualizationType, SupersetVisualizationBundle]:
     return {vt: viz for vt in set(visualization_types) if (
-        viz := mk_visualization(vt, header, mitm_dataset_identifiers, just_placeholders=just_placeholders) is not None)}
+        (viz := mk_visualization(vt, header, identifiers, just_placeholders=just_placeholders)) is not None)}