diff --git a/CoAlgLogics.ml b/CoAlgLogics.ml
index 27b84364df8b482c82b5496a360894b5f3c60728..fd2e1efdb58b118c0c69e36537920a140a18a2d1 100644
--- a/CoAlgLogics.ml
+++ b/CoAlgLogics.ml
@@ -61,6 +61,15 @@ let mkRule_MultiModalK sort bs sl =
         res := None;
         AllInOne rules
 
+let mkRule_MultiModalKD sort bs sl =
+  let rules = bsetFold getRules bs [] in
+  let res = ref (Some rules) in
+  fun () ->
+    match !res with
+    | None -> NoMoreRules
+    | Some rules ->
+        res := None;
+        AllInOne rules
 
 let mkRule_Choice sort bs sl =
   assert (List.length sl = 2);
@@ -138,5 +147,6 @@ let mkRule_Fusion sort bs sl =
  *)
 let getExpandingFunctionProducer = function
   | MultiModalK -> mkRule_MultiModalK
+  | MultiModalK -> mkRule_MultiModalKD
   | Choice -> mkRule_Choice
   | Fusion -> mkRule_Fusion
diff --git a/CoAlgMisc.ml b/CoAlgMisc.ml
index 8b5e3015008c54c31c30892e78cffb343a551c25..d856373d4a36a51c721cc9f4b17a7a5ed486f7d9 100644
--- a/CoAlgMisc.ml
+++ b/CoAlgMisc.ml
@@ -66,6 +66,7 @@ module NHt = Hashtbl.Make(
 (* This type must be extended for additional logics. *)
 type functors =
   | MultiModalK
+  | MultiModalKD
   | Choice
   | Fusion
 
diff --git a/CoAlgMisc.mli b/CoAlgMisc.mli
index 69dcb3d58e752bbd80ae89fd9c7e8b26b70b5697..b8343d0f7417e4b899142472bc0d4405492dad3c 100644
--- a/CoAlgMisc.mli
+++ b/CoAlgMisc.mli
@@ -11,6 +11,7 @@
 (* This type has to be extended for additional logics. *)
 type functors =
   | MultiModalK
+  | MultiModalKD
   | Choice
   | Fusion
 
diff --git a/colorize.sh b/colorize.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6b073ccbf5da6e03aa55425e41122f6509413ab9
--- /dev/null
+++ b/colorize.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+
+while read line ; do
+echo "$(tput bold)$(tput setaf 3)$line$(tput sgr0)"
+done
+
+