diff --git a/src/mol-io/writer/_spec/cif.spec.ts b/src/mol-io/writer/_spec/cif.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..efd8eac6e22c9f9728a4c31dcd3bc54e64dc32fe
--- /dev/null
+++ b/src/mol-io/writer/_spec/cif.spec.ts
@@ -0,0 +1,27 @@
+import { CifWriter } from '../cif';
+
+const cif = await downloadFromPdb('1brr')
+const encoder = CifWriter.createEncoder({
+    binary: true,
+    encoderName: 'mol*',
+    binaryAutoClassifyEncoding: true,
+    binaryEncodingPovider: CifWriter.createEncodingProviderFromJsonConfig([
+        {
+            'categoryName': 'atom_site',
+            'columnName': 'Cartn_y',
+            'encoding': 'rle',
+            'precision': 0
+        },
+        {
+            'categoryName': 'atom_site',
+            'columnName': 'Cartn_z',
+            'encoding': 'delta',
+            'precision': 1
+        },
+        {
+            'categoryName': 'atom_site',
+            'columnName': 'label_seq_id',
+            'encoding': 'delta-rle'
+        }
+    ])
+});
\ No newline at end of file
diff --git a/src/mol-io/writer/cif.ts b/src/mol-io/writer/cif.ts
index 762f1988f1868b0c4d1e58f48b86ad06c6f5fd47..3fd87a346b9ba50b9e0f1b768705ef490c07bff6 100644
--- a/src/mol-io/writer/cif.ts
+++ b/src/mol-io/writer/cif.ts
@@ -103,8 +103,9 @@ export namespace CifWriter {
 export interface EncodingStrategyHint {
     categoryName: string,
     columnName: string,
-    // 'pack', 'rle', 'delta', or 'delta-rle'
-    encoding: string,
+    encoding: EncodingType,
     // number of decimal places to keep - must be specified to float columns
     precision?: number
-}
\ No newline at end of file
+}
+
+type EncodingType = 'pack' | 'rle' | 'delta' | 'delta-rle'
\ No newline at end of file