diff --git a/translate2modelcif.py b/translate2modelcif.py
index 89b92b1920229ddaa7da40cfe2305a579df89256..29b6e7187e6473bd6b3bfa554989c3b0e281fffe 100644
--- a/translate2modelcif.py
+++ b/translate2modelcif.py
@@ -222,7 +222,8 @@ def _get_entities(pdb_file, up_acs):
         cif_ent = {}
         sqe = _get_sequence(chn)
         upkb = _get_upkb_for_sequence(sqe, up_acs[i])
-        cif_ent["cif_sequence"] = sqe
+        cif_ent["pdb_sequence"] = sqe
+        cif_ent["pdb_chain_id"] = chn.name
         cif_ent.update(upkb)
         entities.append(cif_ent)
 
@@ -237,16 +238,18 @@ def _store_as_modelcif(interaction_name, data_json, file_prfx):
         id=interaction_name.upper(),
         model_details=data_json["model_details"],
     )
-    # create target entities, references, source...
+    # create target entities, references, source, asymmetric units...
     # for source we assume all chains come from the same taxon
     source = ihm.source.Natural(
         ncbi_taxonomy_id=data_json["target_entities"][0]["up_ncbi_taxid"],
         scientific_name=data_json["target_entities"][0]["up_organism"],
     )
+
+    asym_units = {}
     for cif_ent in data_json["target_entities"]:
         # ToDo [input]: Get entity description
         mdlcif_ent = modelcif.Entity(
-            cif_ent["cif_sequence"],
+            cif_ent["pdb_sequence"],
             description="entity.pdbx_description",
             source=source,
             references=[
@@ -265,8 +268,14 @@ def _store_as_modelcif(interaction_name, data_json, file_prfx):
                 )
             ],
         )
+        # ToDo [input]: Add details
+        asym_units[cif_ent["pdb_chain_id"]] = modelcif.AsymUnit(
+            mdlcif_ent,
+            details="struct_asym.details",
+            strand_id=cif_ent["pdb_chain_id"],
+        )
 
-        system.entities.append(mdlcif_ent)
+        system.asym_units.extend(asym_units.values())
         system.target_entities.append(mdlcif_ent)
 
     # audit_authors
@@ -337,4 +346,4 @@ if __name__ == "__main__":
 #  LocalWords:  sqe olc ACDEFGHIKLMNPQRSTVWY RuntimeError upkb txt pylint iter
 #  LocalWords:  rspns unicode startswith sline len elif NCBI TaxID ncbi taxid
 #  LocalWords:  seqlen crc ISOFORM DT dt flds isoforms isoform ent LoadPDB ihm
-#  LocalWords:  mdlcf mdlcif
+#  LocalWords:  mdlcf mdlcif asym AsymUnit