diff --git a/Sudoku/SudokuEvent.mch b/Sudoku/SudokuEvent.mch
new file mode 100644
index 0000000000000000000000000000000000000000..2aa9304e68814271f745c0d2a580b1ae0885e652
--- /dev/null
+++ b/Sudoku/SudokuEvent.mch
@@ -0,0 +1,93 @@
+MACHINE SudokuEvent
+/* A version of Sudoku where the solving happens inside an event
+ (c) Michael Leuschel
+*/
+DEFINITIONS
+ Sze == 3; Mx==(Sze*Sze);
+ DOM == 1..Mx; D1 == 1..(Mx-1); D2 == 2..Mx ;
+ RAN == (1..Mx);
+ SET_PREF_MAXINT == 3; SET_PREF_TIME_OUT == 45000;
+ SUBSQ == ran(%i.(i:1..Sze | ((i-1)*Sze+1)..i*Sze));
+ SUBSQE == { {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} };
+     ANIMATION_FUNCTION_DEFAULT == {r,c,i|r:1..Mx & c:1..Mx & i=16};
+     ANIMATION_FUNCTION == ( {r,c,i|r:DOM & c:DOM & i:RAN &  i = Board(r)(c)} );
+      ANIMATION_IMG0 == "images/sm_0.gif";
+      ANIMATION_IMG1 == "images/sm_1.gif";
+      ANIMATION_IMG2 == "images/sm_2.gif";
+      ANIMATION_IMG3 == "images/sm_3.gif";
+      ANIMATION_IMG4 == "images/sm_4.gif";
+      ANIMATION_IMG5 == "images/sm_5.gif";
+      ANIMATION_IMG6 == "images/sm_6.gif";
+      ANIMATION_IMG7 == "images/sm_7.gif";
+      ANIMATION_IMG8 == "images/sm_8.gif";
+      ANIMATION_IMG9 == "images/sm_9.gif";
+      ANIMATION_IMG16 == "images/sm_empty_box.gif";
+ SET_PREF_MAX_OPERATIONS == 82;
+
+    /* PUZZLE CONSTRAINTS : */
+PUZZLE == (
+
+   Board(1)(1)=7 & Board(1)(2)=8  & Board(1)(3)=1 & Board(1)(4)=6 & Board(1)(6)=2
+                 & Board(1)(7)=9 & Board(1)(9) = 5 &
+   Board(2)(1)=9 & Board(2)(3)=2 & Board(2)(4)=7 & Board(2)(5)=1 &
+   Board(3)(3)=6 & Board(3)(4)=8 & Board(3)(8)=1 & Board(3)(9)=2 &
+
+   Board(4)(1)=2 & Board(4)(4)=3 & Board(4)(7)=8 & Board(4)(8)=5 & Board(4)(9)=1 &
+   Board(5)(2)=7 & Board(5)(3)=3 & Board(5)(4)=5 & Board(5)(9)=4 &
+   Board(6)(3)=8 & Board(6)(6)=9 & Board(6)(7)=3 & Board(6)(8)=6 &
+
+   Board(7)(1)=1 & Board(7)(2)=9 & Board(7)(6)=7 & Board(7)(8)=8 &
+   Board(8)(1)=8 & Board(8)(2)=6 & Board(8)(3)=7 & Board(8)(6)=3 & Board(8)(7)=4 & Board(8)(9)=9 &
+   Board(9)(3)=5 & Board(9)(7)=1
+  );
+
+  UnassignedPosition(x,y) == x:DOM & y:DOM & not(y:dom(Board(x)))
+VARIABLES
+  Board,
+  curx, cury
+INVARIANT
+  Board : DOM --> (DOM +-> RAN) &
+  curx : DOM &
+  cury : DOM
+INITIALISATION
+  Board : (Board : DOM --> (DOM +-> RAN)  & PUZZLE) ||
+  curx, cury := 1,1
+OPERATIONS
+  SetEmpty = BEGIN Board := %i.(i:DOM|{}) END;
+
+  SetPuzzle = BEGIN Board : (Board : DOM --> (DOM +-> RAN)  & PUZZLE) END;
+
+  //val <-- GetBoard(x,y) = PRE x:DOM & y:dom(Board(x)) THEN val := Board(x)(y) END;
+  
+  SetCurPos(x,y) = PRE x:DOM & y:DOM THEN
+     curx, cury := x,y
+  END;
+  SetBoard(val) = PRE val:RAN THEN
+     Board(curx)(cury) := val  // Set the Value at a given board position
+  END;
+
+  solve(SBoard) = PRE
+    SBoard : DOM --> (DOM --> RAN)   /*@desc "The solution must be complete" */ &
+   !(x,y).(y:dom(Board(x))
+            => SBoard(x)(y) = Board(x)(y)) /*@desc "Copy partial solution (Board variable)" */ &
+   !y.(y:DOM =>
+     LET By BE By = SBoard(y) IN
+     !(x1).(x1:D1
+         => !x2.(x1<x2 & x2:D2
+                => (SBoard(x1)(y) /= SBoard(x2)(y) &
+                    By(x1) /= By(x2)))
+           )
+      END
+      ) /*@desc "Values are distinct on all columns and rows" */
+      &
+    !(s1,s2).(s1:SUBSQ & s2:SUBSQ => !x1.(x1:s1 =>
+             !(y1,x2,y2).( (x1:s1 & x2:s1 & x1>=x2 & y1:s2 & y2:s2 & (x1=x2 => y1>y2)
+                                 & (x1,y1) /= (x2,y2)  )
+                              =>
+                              SBoard(x1)(y1) /= SBoard(x2)(y2)
+                            )
+        ) ) /*@desc "Values are all distinct within each Sub-Square" */
+    THEN
+        Board := SBoard
+    END
+END
\ No newline at end of file
diff --git a/Sudoku/SudokuFeld.svg b/Sudoku/SudokuFeld.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e2c01fa7137a35e69b924a156f425a094e930fca
--- /dev/null
+++ b/Sudoku/SudokuFeld.svg
@@ -0,0 +1,923 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+	xmlns="http://www.w3.org/2000/svg"
+	width="900"
+	height="900"
+	viewBox="5 15 150 120"
+	version="1.1"
+	id="svg5154">
+
+	<style id="sudoku_styles">
+	.normal {
+		stroke : lightgray;
+		stroke-width : 0.1;
+		fill : white
+	}
+	.selected {
+		stroke : black;
+		stroke-width : 0.1;
+		fill : lightgray
+	}
+	.wrong {
+		stroke : red;
+		stroke-width : 0.1;
+		fill : rosybrown
+	}
+	.hover {
+		stroke : black;
+		stroke-width : 0.1;
+		fill : yellow
+	}
+</style>
+
+	<g id = "g_1_1">
+		<rect id = "board_1_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_1" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_1_2" transform="translate(0,10)">
+		<rect id = "board_1_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_2" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_1_3" transform="translate(0,20)">
+		<rect id = "board_1_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_3" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_1_4" transform="translate(0,30)">
+		<rect id = "board_1_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_4" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_1_5" transform="translate(0,40)">
+		<rect id = "board_1_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_5" visibility="visible">8</tspan>
+	</text>
+	</g>
+
+	<g id = "g_1_6" transform="translate(0,50)">
+		<rect id = "board_1_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_6" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_1_7" transform="translate(0,60)">
+		<rect id = "board_1_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_7" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_1_8" transform="translate(0,70)">
+		<rect id = "board_1_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_8" visibility="visible">3</tspan>
+	</text>
+	</g>
+
+	<g id = "g_1_9" transform="translate(0,80)">
+		<rect id = "board_1_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_1_9" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_1" transform="translate(10,0)">
+		<rect id = "board_2_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_1" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_2" transform="translate(10,10)">
+		<rect id = "board_2_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_2" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_3" transform="translate(10,20)">
+		<rect id = "board_2_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_3" visibility="visible">2</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_4" transform="translate(10,30)">
+		<rect id = "board_2_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_4" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_5" transform="translate(10,40)">
+		<rect id = "board_2_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_5" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_6" transform="translate(10,50)">
+		<rect id = "board_2_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_6" visibility="visible">3</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_7" transform="translate(10,60)">
+		<rect id = "board_2_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_7" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_8" transform="translate(10,70)">
+		<rect id = "board_2_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_8" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_2_9" transform="translate(10,80)">
+		<rect id = "board_2_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_2_9" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_1" transform="translate(20,0)">
+		<rect id = "board_3_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_1" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_2" transform="translate(20,10)">
+		<rect id = "board_3_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_2" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_3" transform="translate(20,20)">
+		<rect id = "board_3_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_3" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_4" transform="translate(20,30)">
+		<rect id = "board_3_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_4" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_5" transform="translate(20,40)">
+		<rect id = "board_3_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_5" visibility="visible">3</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_6" transform="translate(20,50)">
+		<rect id = "board_3_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_6" visibility="visible">3</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_7" transform="translate(20,60)">
+		<rect id = "board_3_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_7" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_8" transform="translate(20,70)">
+		<rect id = "board_3_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_8" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_3_9" transform="translate(20,80)">
+		<rect id = "board_3_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_3_9" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_1" transform="translate(30,0)">
+		<rect id = "board_4_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_1" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_2" transform="translate(30,10)">
+		<rect id = "board_4_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_2" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_3" transform="translate(30,20)">
+		<rect id = "board_4_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_3" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_4" transform="translate(30,30)">
+		<rect id = "board_4_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_4" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_5" transform="translate(30,40)">
+		<rect id = "board_4_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_5" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_6" transform="translate(30,50)">
+		<rect id = "board_4_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_6" visibility="visible">8</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_7" transform="translate(30,60)">
+		<rect id = "board_4_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_7" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_8" transform="translate(30,70)">
+		<rect id = "board_4_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_8" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_4_9" transform="translate(30,80)">
+		<rect id = "board_4_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_4_9" visibility="visible">3</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_1" transform="translate(40,0)">
+		<rect id = "board_5_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_1" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_2" transform="translate(40,10)">
+		<rect id = "board_5_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_2" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_3" transform="translate(40,20)">
+		<rect id = "board_5_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_3" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_4" transform="translate(40,30)">
+		<rect id = "board_5_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_4" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_5" transform="translate(40,40)">
+		<rect id = "board_5_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_5" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_6" transform="translate(40,50)">
+		<rect id = "board_5_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_6" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_7" transform="translate(40,60)">
+		<rect id = "board_5_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_7" visibility="visible">8</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_8" transform="translate(40,70)">
+		<rect id = "board_5_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_8" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_5_9" transform="translate(40,80)">
+		<rect id = "board_5_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_5_9" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_1" transform="translate(50,0)">
+		<rect id = "board_6_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_1" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_2" transform="translate(50,10)">
+		<rect id = "board_6_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_2" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_3" transform="translate(50,20)">
+		<rect id = "board_6_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_3" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_4" transform="translate(50,30)">
+		<rect id = "board_6_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_4" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_5" transform="translate(50,40)">
+		<rect id = "board_6_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_5" visibility="visible">2</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_6" transform="translate(50,50)">
+		<rect id = "board_6_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_6" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_7" transform="translate(50,60)">
+		<rect id = "board_6_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_7" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_8" transform="translate(50,70)">
+		<rect id = "board_6_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_8" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_6_9" transform="translate(50,80)">
+		<rect id = "board_6_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_6_9" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_1" transform="translate(60,0)">
+		<rect id = "board_7_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_1" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_2" transform="translate(60,10)">
+		<rect id = "board_7_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_2" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_3" transform="translate(60,20)">
+		<rect id = "board_7_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_3" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_4" transform="translate(60,30)">
+		<rect id = "board_7_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_4" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_5" transform="translate(60,40)">
+		<rect id = "board_7_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_5" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_6" transform="translate(60,50)">
+		<rect id = "board_7_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_6" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_7" transform="translate(60,60)">
+		<rect id = "board_7_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_7" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_8" transform="translate(60,70)">
+		<rect id = "board_7_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_8" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_7_9" transform="translate(60,80)">
+		<rect id = "board_7_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_7_9" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_1" transform="translate(70,0)">
+		<rect id = "board_8_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_1" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_2" transform="translate(70,10)">
+		<rect id = "board_8_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_2" visibility="visible">2</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_3" transform="translate(70,20)">
+		<rect id = "board_8_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_3" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_4" transform="translate(70,30)">
+		<rect id = "board_8_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_4" visibility="visible">3</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_5" transform="translate(70,40)">
+		<rect id = "board_8_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_5" visibility="visible">8</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_6" transform="translate(70,50)">
+		<rect id = "board_8_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_6" visibility="visible">4</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_7" transform="translate(70,60)">
+		<rect id = "board_8_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_7" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_8" transform="translate(70,70)">
+		<rect id = "board_8_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_8" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_8_9" transform="translate(70,80)">
+		<rect id = "board_8_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_8_9" visibility="visible">7</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_1" transform="translate(80,0)">
+		<rect id = "board_9_1"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_1" visibility="visible">3</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_2" transform="translate(80,10)">
+		<rect id = "board_9_2"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_2" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_3" transform="translate(80,20)">
+		<rect id = "board_9_3"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_3" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_4" transform="translate(80,30)">
+		<rect id = "board_9_4"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_4" visibility="visible">6</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_5" transform="translate(80,40)">
+		<rect id = "board_9_5"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_5" visibility="visible">5</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_6" transform="translate(80,50)">
+		<rect id = "board_9_6"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_6" visibility="visible">2</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_7" transform="translate(80,60)">
+		<rect id = "board_9_7"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_7" visibility="visible">0</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_8" transform="translate(80,70)">
+		<rect id = "board_9_8"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_8" visibility="visible">1</tspan>
+	</text>
+	</g>
+
+	<g id = "g_9_9" transform="translate(80,80)">
+		<rect id = "board_9_9"
+		width="10" height="10" x="10"  y="10"
+		class = "normal"
+		/>
+	<text  text-align="left"  x="13"  y="18"
+		font-size ="8" font-family="sans-serif ">
+		<tspan id="txt_9_9" visibility="visible">3</tspan>
+	</text>
+	</g>
+</svg>
\ No newline at end of file
diff --git a/Sudoku/visb_sudoku.json b/Sudoku/visb_sudoku.json
new file mode 100644
index 0000000000000000000000000000000000000000..1358523905400c8ce4a5d58a15f5bb78202b0692
--- /dev/null
+++ b/Sudoku/visb_sudoku.json
@@ -0,0 +1,43 @@
+{
+  "svg":"SudokuFeld.svg",
+  "definitions": 
+  [
+    { "name":"BOARD",
+      "value" : "%x.(x:DOM|%y.(y:DOM|0)  <+ Board(x))"
+    }
+  ],
+  "items": [
+	{
+	  "for": {"from":1, "to":9},
+	  "repeat": [1,2,3,4,5,6,7,8,9],
+      "id": "txt_%0_%1",
+      "attr": "text",
+      "value" : "BOARD(%0)(%1)"
+    },
+	{
+	  "for": {"from":1, "to":9},
+	  "repeat": [1,2,3,4,5,6,7,8,9],
+      "id": "board_%0_%1",
+      "attr": "class",
+      "value" : "IF curx=%0 & cury=%1 THEN \"selected\" ELSIF %1:dom(Board(%0)) & (curx=%0 or cury=%1) & BOARD(%0)(%1)=BOARD(curx)(cury) THEN \"wrong\" ELSE \"normal\" END"
+    },
+	{
+	  "for": {"from":1, "to":9},
+	  "repeat": [1,2,3,4,5,6,7,8,9],
+      "id": "txt_%0_%1",
+      "attr": "visibility",
+      "value" : "IF %1 : dom(Board(%0)) THEN \"visible\" ELSE \"hidden\" END"
+    }
+],
+  "events": [
+    {
+	  "for": {"from":1, "to":9},
+	  "repeat": [1,2,3,4,5,6,7,8,9],
+      "id": "g_%0_%1",
+      "event": "SetCurPos",
+      "predicates" : ["x=%0","y=%1"],
+      "hovers": [{ "attr":"stroke-width", "enter":"1", "leave":"0.1"}
+                ]
+    }
+  ]
+}