From b0cf998b1f63aa23916ab35a3d978b6972d273c5 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Thu, 9 Jun 2022 13:14:56 +0200
Subject: [PATCH] rename pieces

---
 pieces/black_king_bishop.svg | 11 +------
 pieces/black_king_knight.svg | 12 +-------
 pieces/black_king_pawn.svg   |  4 +--
 pieces/black_king_queen.svg  |  9 +-----
 pieces/black_king_rook.svg   | 11 +------
 pieces/red_bishop.svg        | 10 ++++++
 pieces/red_king.svg          | 12 ++++++++
 pieces/red_knight.svg        | 11 +++++++
 pieces/red_pawn.svg          |  3 ++
 pieces/red_queen.svg         |  8 +++++
 pieces/red_rook.svg          | 10 ++++++
 pieces/white_king_bishop.svg | 12 +-------
 pieces/white_king_knight.svg |  5 +--
 pieces/white_king_pawn.svg   |  5 +--
 pieces/white_king_queen.svg  | 20 +-----------
 pieces/white_king_rook.svg   | 12 +-------
 pieces/yellow_bishop.svg     | 11 +++++++
 pieces/yellow_king.svg       | 11 +++++++
 pieces/yellow_knight.svg     |  4 +++
 pieces/yellow_pawn.svg       |  4 +++
 pieces/yellow_queen.svg      | 19 ++++++++++++
 pieces/yellow_rook.svg       | 11 +++++++
 variants/Chakart/class.js    | 60 ++++++++++++++++++++++++++++++++----
 23 files changed, 178 insertions(+), 97 deletions(-)
 mode change 100644 => 120000 pieces/black_king_bishop.svg
 mode change 100644 => 120000 pieces/black_king_knight.svg
 mode change 100644 => 120000 pieces/black_king_pawn.svg
 mode change 100644 => 120000 pieces/black_king_queen.svg
 mode change 100644 => 120000 pieces/black_king_rook.svg
 create mode 100644 pieces/red_bishop.svg
 create mode 100644 pieces/red_king.svg
 create mode 100644 pieces/red_knight.svg
 create mode 100644 pieces/red_pawn.svg
 create mode 100644 pieces/red_queen.svg
 create mode 100644 pieces/red_rook.svg
 mode change 100644 => 120000 pieces/white_king_bishop.svg
 mode change 100644 => 120000 pieces/white_king_knight.svg
 mode change 100644 => 120000 pieces/white_king_pawn.svg
 mode change 100644 => 120000 pieces/white_king_queen.svg
 mode change 100644 => 120000 pieces/white_king_rook.svg
 create mode 100644 pieces/yellow_bishop.svg
 create mode 100644 pieces/yellow_king.svg
 create mode 100644 pieces/yellow_knight.svg
 create mode 100644 pieces/yellow_pawn.svg
 create mode 100644 pieces/yellow_queen.svg
 create mode 100644 pieces/yellow_rook.svg

diff --git a/pieces/black_king_bishop.svg b/pieces/black_king_bishop.svg
deleted file mode 100644
index 508381b..0000000
--- a/pieces/black_king_bishop.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1290 582l-42 102q-102 22-224 22-121 0-222-22l-42-101q124 31 264 31 138 0 266-32zm-84 206l-29 70v27q-76 11-153 11-75 0-152-11l-1-27-27-70q85 15 180 15 96 0 182-15zm-35-378q-40 30-80 95h-32q0-49 23-95h89zm-206 0q23 49 23 95h-32q-39-64-81-95h90zm59-18q-14-57-34-79t-53-46q-36-25-85-42t-109-9l-281 39q-17 2-30 0t-26-2q-21 0-53-9t-51-28l-97 159q18 20 32 28t33 17q58 27 124 33 28 2 55 1t56 2q54-9 108-16t110-16q60 0 81 12 11 6 35 22t48 47q-53 6-108 20t-97 31l104 258q-78 45-109 72t-49 64q-26 46-33 89t-7 77q1 60 28 132t104 130q63 48 123 99t119 119q-74 38-74 121 0 56 39 96t97 40q56 0 96-40t40-96q0-82-74-121 58-68 117-119t125-99q75-57 102-129t29-133q0-34-7-77t-32-89q-20-36-50-63t-108-73l104-258q-44-16-99-30t-106-21q23-31 47-47t36-22q21-12 81-12 54 8 108 15t110 17q27-3 54-2t57-1q64-6 124-33 18-9 32-17t33-28l-98-159q-18 18-50 27t-53 10q-13 0-26 2t-31 0l-280-39q-60-9-111 8t-85 45q-33 27-52 46t-33 77zm-37 744v-85q0-37 37-37t37 37v86h90q35 0 35 36t-35 36h-90v90q0 37-37 37t-37-37v-90h-88q-35 0-35-36t35-36l88-1z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
- <g fill-rule="nonzero" fill="#fff">
-  <path style="color:black;" d="m1290 1466-42-102q-102-22-224-22-121 0-222 22l-42 101q124-31 264-31 138 0 266 32z" display="block"/>
-  <path style="color:black;" d="m1206 1260-29-70v-27q-76-11-153-11-75 0-152 11l-1 27-27 70q85-15 180-15 96 0 182 15z" display="block"/>
-  <path style="color:black;" d="m1171 1638q-40-30-80-95h-32q0 49 23 95h89z" display="block"/>
-  <path style="color:black;" d="m965 1638q23-49 23-95h-32q-39 64-81 95h90z" display="block"/>
-  <path style="color:black;" d="m987 912v85q0 37 37 37t37-37v-86h90q35 0 35-36t-35-36h-90v-90q0-37-37-37t-37 37v90h-88q-35 0-35 36t35 36l88 1z" display="block"/>
- </g>
-</svg>
diff --git a/pieces/black_king_bishop.svg b/pieces/black_king_bishop.svg
new file mode 120000
index 0000000..f53a984
--- /dev/null
+++ b/pieces/black_king_bishop.svg
@@ -0,0 +1 @@
+red_bishop.svg
\ No newline at end of file
diff --git a/pieces/black_king_knight.svg b/pieces/black_king_knight.svg
deleted file mode 100644
index 537dc09..0000000
--- a/pieces/black_king_knight.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m490 683q4 9 13 27 17 42 17 50-2 28-29 28-20 0-47-57-4-8-12-14-27-28 8-47 32-19 50 13zm590 371q70 92 69 205-4 33-38 33-46 0-36-34 3-55-11-91-23-57-51-85-15-30 18-44 32-15 49 16zm-261 488q-5 36 2 78-60-12-113-56-32-17-15-47 17-31 47-10 21 11 38 20t41 15zm937-1268q-1 0 2 54t3 118q1 125 0 258t-36 267q-34 128-75 218t-89 157q-72 108-196 183t-259 98q4-23 3-47t0-46q97-33 183-82t126-106q48-66 89-156t75-219q34-133 35-266t1-259q0-63-3-117t0-55h141zm-677 1423q157-10 291-81t228-182q66-78 124-188t94-233q40-143 50-300t11-292v-218t-155 0-404 0h-671q-9 0-9 49t7 79q4 24 19 68t50 107q16 32 76 93t138 143q45 46 70 116t22 127q-37-30-81-49-212-76-307-220-7-9-45-81-20-38-34-52-19-19-55-21-56-3-87 54-42-12-75-10-56 21-81 45-51 51-66 102t-16 110q0 84 104 222 122 159 130 242 0 36 7 81 6 31 25 60 13 20 17 27t17 23q9 12 15 18t15 18q11 13 28 30-53 146-43 301 199-71 334-223 33 113 130 183 80-56 127-148zm-675-836q29 20 6 48-24 23-53 4-61-40-65-105 1-33 39-31 36 3 35 37 8 32 38 47zm252 498q22 11 22 11 30 12 19 44-12 30-46 20-118-43-163-158-7-33 24-45 31-10 42 22 8 17 12 22 11-9 29-12 61-10 71 54 3 22-10 42z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
- <g fill-rule="nonzero" fill="#fff">
-  <path style="color:black;" d="m490 1365q4-9 13-27 17-42 17-50-2-28-29-28-20 0-47 57-4 8-12 14-27 28 8 47 32 19 50-13z" display="block"/>
-  <path style="color:black;" d="m1080 994q70-92 69-205-4-33-38-33-46 0-36 34 3 55-11 91-23 57-51 85-15 30 18 44 32 15 49-16z" display="block"/>
-  <path style="color:black;" d="m819 506q-5-36 2-78-60 12-113 56-32 17-15 47 17 31 47 10 21-11 38-20t41-15z" display="block"/>
-  <path style="color:black;" d="m1756 1774q-1 0 2-54t3-118q1-125 0-258t-36-267q-34-128-75-218t-89-157q-72-108-196-183t-259-98q4 23 3 47t0 46q97 33 183 82t126 106q48 66 89 156t75 219q34 133 35 266t1 259q0 63-3 117t0 55h141z" display="block"/>
-  <path style="color:black;" d="m404 1187q29-20 6-48-24-23-53-4-61 40-65 105 1 33 39 31 36-3 35-37 8-32 38-47z" display="block"/>
-  <path style="color:black;" d="m656 689q22-11 22-11 30-12 19-44-12-30-46-20-118 43-163 158-7 33 24 45 31 10 42-22 8-17 12-22 11 9 29 12 61 10 71-54 3-22-10-42z" display="block"/>
- </g>
-</svg>
diff --git a/pieces/black_king_knight.svg b/pieces/black_king_knight.svg
new file mode 120000
index 0000000..1c857b5
--- /dev/null
+++ b/pieces/black_king_knight.svg
@@ -0,0 +1 @@
+red_knight.svg
\ No newline at end of file
diff --git a/pieces/black_king_pawn.svg b/pieces/black_king_pawn.svg
deleted file mode 100644
index 718a4a3..0000000
--- a/pieces/black_king_pawn.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1024 205h-540q-40 100-40 209 0 185 105 332t270 210q-71 33-115 99t-45 151q0 105 70 182t172 89q-81 61-81 161 0 84 59 144t145 60q84 0 144-60t60-144q0-100-81-161 102-12 172-89t70-182q0-84-45-150t-116-100q165-63 270-210t105-332q0-108-39-209h-540z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
-</svg>
diff --git a/pieces/black_king_pawn.svg b/pieces/black_king_pawn.svg
new file mode 120000
index 0000000..6c7fc82
--- /dev/null
+++ b/pieces/black_king_pawn.svg
@@ -0,0 +1 @@
+red_pawn.svg
\ No newline at end of file
diff --git a/pieces/black_king_queen.svg b/pieces/black_king_queen.svg
deleted file mode 100644
index 52fcc2d..0000000
--- a/pieces/black_king_queen.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1588 793q-83 30-233 49t-333 20q-178 0-326-18t-233-49l50-91q84 25 218 36t293 11q159 0 294-11t219-37l51 90zm226 668q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97q0-57-40-96t-96-40zm-1578 0q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97q0-57-40-96t-97-40zm1208 110q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-840 0q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm1036-1288q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-96 32l-30 118q-195 45-490 45-292 0-488-45l-32-119q190 58 521 58 159 0 295-16t224-41zm-26 299q-184 51-490 51-308 0-496-52l15-101q189 49 481 49 291 0 474-48l16 101zm-494 1007q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
- <g fill-rule="nonzero" fill="#fff">
-  <path style="color:black;" d="m1588 1255q-83-30-233-49t-333-20q-178 0-326 18t-233 49l50 91q84-25 218-36t293-11 294 11 219 37l51-90z" display="block"/>
-  <path style="color:black;" d="m1544 1733-30-118q-195-45-490-45-292 0-488 45l-32 119q190-58 521-58 159 0 295 16t224 41z" display="block"/>
-  <path style="color:black;" d="m1518 1434q-184-51-490-51-308 0-496 52l15 101q189-49 481-49 291 0 474 48l16-101z" display="block"/>
- </g>
-</svg>
diff --git a/pieces/black_king_queen.svg b/pieces/black_king_queen.svg
new file mode 120000
index 0000000..8ce9f99
--- /dev/null
+++ b/pieces/black_king_queen.svg
@@ -0,0 +1 @@
+red_queen.svg
\ No newline at end of file
diff --git a/pieces/black_king_rook.svg b/pieces/black_king_rook.svg
deleted file mode 100644
index e4051e4..0000000
--- a/pieces/black_king_rook.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1161 1706h170v137h274v-375l-222-171v-478l170-170v-205h153v-239h-1365v239h153v205l171 170v478l-222 171v375h273v-137h171v137h274v-137zm-597-1246v-102h920v102h-920zm460 1092h-512v-46l73-55h879l71 55v46h-511zm0-169h-350l60-47v-57h580v57l60 47h-350zm0-546h-290v-46l-60-58h700l-60 58v46h-290zm0-172h-414l-46-43v-58h920v58l-46 43h-414z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
- <g fill-rule="nonzero" fill="#fff">
-  <path style="color:black;" d="m564 1588v102h920v-102h-920z" display="block"/>
-  <path style="color:black;" d="m1024 496h-512v46l73 55h879l71-55v-46h-511z" display="block"/>
-  <path style="color:black;" d="m1024 665h-350l60 47v57h580v-57l60-47h-350z" display="block"/>
-  <path style="color:black;" d="m1024 1211h-290v46l-60 58h700l-60-58v-46h-290z" display="block"/>
-  <path style="color:black;" d="m1024 1383h-414l-46 43v58h920v-58l-46-43h-414z" display="block"/>
- </g>
-</svg>
diff --git a/pieces/black_king_rook.svg b/pieces/black_king_rook.svg
new file mode 120000
index 0000000..d2f0509
--- /dev/null
+++ b/pieces/black_king_rook.svg
@@ -0,0 +1 @@
+red_rook.svg
\ No newline at end of file
diff --git a/pieces/red_bishop.svg b/pieces/red_bishop.svg
new file mode 100644
index 0000000..508381b
--- /dev/null
+++ b/pieces/red_bishop.svg
@@ -0,0 +1,10 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1290 582l-42 102q-102 22-224 22-121 0-222-22l-42-101q124 31 264 31 138 0 266-32zm-84 206l-29 70v27q-76 11-153 11-75 0-152-11l-1-27-27-70q85 15 180 15 96 0 182-15zm-35-378q-40 30-80 95h-32q0-49 23-95h89zm-206 0q23 49 23 95h-32q-39-64-81-95h90zm59-18q-14-57-34-79t-53-46q-36-25-85-42t-109-9l-281 39q-17 2-30 0t-26-2q-21 0-53-9t-51-28l-97 159q18 20 32 28t33 17q58 27 124 33 28 2 55 1t56 2q54-9 108-16t110-16q60 0 81 12 11 6 35 22t48 47q-53 6-108 20t-97 31l104 258q-78 45-109 72t-49 64q-26 46-33 89t-7 77q1 60 28 132t104 130q63 48 123 99t119 119q-74 38-74 121 0 56 39 96t97 40q56 0 96-40t40-96q0-82-74-121 58-68 117-119t125-99q75-57 102-129t29-133q0-34-7-77t-32-89q-20-36-50-63t-108-73l104-258q-44-16-99-30t-106-21q23-31 47-47t36-22q21-12 81-12 54 8 108 15t110 17q27-3 54-2t57-1q64-6 124-33 18-9 32-17t33-28l-98-159q-18 18-50 27t-53 10q-13 0-26 2t-31 0l-280-39q-60-9-111 8t-85 45q-33 27-52 46t-33 77zm-37 744v-85q0-37 37-37t37 37v86h90q35 0 35 36t-35 36h-90v90q0 37-37 37t-37-37v-90h-88q-35 0-35-36t35-36l88-1z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
+ <g fill-rule="nonzero" fill="#fff">
+  <path style="color:black;" d="m1290 1466-42-102q-102-22-224-22-121 0-222 22l-42 101q124-31 264-31 138 0 266 32z" display="block"/>
+  <path style="color:black;" d="m1206 1260-29-70v-27q-76-11-153-11-75 0-152 11l-1 27-27 70q85-15 180-15 96 0 182 15z" display="block"/>
+  <path style="color:black;" d="m1171 1638q-40-30-80-95h-32q0 49 23 95h89z" display="block"/>
+  <path style="color:black;" d="m965 1638q23-49 23-95h-32q-39 64-81 95h90z" display="block"/>
+  <path style="color:black;" d="m987 912v85q0 37 37 37t37-37v-86h90q35 0 35-36t-35-36h-90v-90q0-37-37-37t-37 37v90h-88q-35 0-35 36t35 36l88 1z" display="block"/>
+ </g>
+</svg>
diff --git a/pieces/red_king.svg b/pieces/red_king.svg
new file mode 100644
index 0000000..e04fcb2
--- /dev/null
+++ b/pieces/red_king.svg
@@ -0,0 +1,12 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <g fill-rule="nonzero" fill="#fff">
+  <path style="color:black;" d="m1060 1261q172 3 282 17t198 33q55-54 122-103t94-84q48-65 48-162 0-89-43-149-77-113-235-113-92 0-192 40-91 36-132 78-85 82-124 216-15 46-16 117t-2 110z" display="block"/>
+  <path style="color:black;" d="m988 1260q0-40-2-110t-15-118q-41-134-124-216-43-42-132-78-102-40-193-40-158 0-234 113-43 60-43 150 0 98 48 161 25 36 96 89t120 98q87-19 196-33t283-16z" display="block"/>
+  <path style="color:black;" d="m1024 1009q7-28 12-39 10-39 23-66 6-17 17-39t25-52q8-17 17-41t18-49q8-20 8-43 0-49-35-83t-85-35q-119 0-119 119 0 23 8 43 22 65 34 90 13 29 24 51t19 40q13 33 22 66 2 6 12 38z" display="block"/>
+ </g>
+ <g fill-rule="nonzero">
+  <path style="color:black;" d="m1133 865q0 29 6 82t21 84q37 81 106 150 20 20 86 54 65 32 139 32 56 0 111-19t84-60q25-34 25-110 0-60-49-112-32-33-69-66t-71-79q-58 20-161 31t-228 13zm-73-78q172-3 282-17t198-33q55 54 122 103t94 84q48 65 48 162 0 89-43 149-77 113-235 113-92 0-192-40-91-36-132-78-85-82-124-216-15-46-16-117t-2-110zm458-173q-184 51-490 51-308 0-496-52l15-101q189 49 481 49 291 0 474-48l16 101zm26-299l-30 118q-195 45-490 45-292 0-488-45l-32-119q190 58 521 58 159 0 295-16t224-41zm-1081 207l-33 187q-1 0-3 4-5 7-28 18t-55 40q-44 37-68 60t-45 50q-61 84-68 203-10 115 93 229 104 114 281 107 66-4 155-32 29-12 59-23t61-24q16-8 28-16-5 21-5 42 0 78 55 133t134 56q78 0 133-55t55-133q0-16-4-42 14 9 27 15 46 20 121 47 86 29 155 33 177 8 280-107 101-114 94-229-8-119-69-203-20-27-45-50t-67-60q-33-28-56-39t-27-19q-1-2-2-3t-1-2l-32-188 66-247q-50-45-224-74t-402-29q-232 0-408 30t-221 77l66 244zm525 266q0 40-2 110t-15 118q-41 134-124 216-43 42-132 78-102 40-193 40-158 0-234-113-43-60-43-150 0-98 48-161 25-36 96-89t120-98q87 19 196 33t283 16zm36 251q7 28 12 39 10 39 23 66 6 17 17 39t25 52q8 17 17 41t18 49q8 20 8 43 0 49-35 83t-85 35q-119 0-119-119 0-23 8-43 22-65 34-90 13-29 24-51t19-40q13-33 22-66 2-6 12-38zm35 520h-71v131h-83q-34 0-34 33v1q0 33 34 33h83v85q0 35 36 35 35 0 35-35v-85h86q33 0 33-33v-1q0-33-33-33l-85-1-1-130zm-147-694q-125-2-228-13t-161-31q-30 37-69 74t-70 71q-50 51-50 112 0 75 25 110 27 40 83 59t113 20q72 0 138-32 65-34 86-54 68-69 106-150 13-30 19-83t8-83zm112 345q-2 10-5 17-6 20-10 29-3 7-8 17t-10 23q-3 7-7 18t-8 22q-3 9-3 19 0 53 51 53 53 0 53-52 0-13-4-19-14-38-15-41-15-30-19-39-7-16-9-29-3-6-4-10t-2-8z" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
+  <path style="color:black;" d="m1518 1434q-184-51-490-51-308 0-496 52l15 101q189-49 481-49 291 0 474 48l16-101z" display="block" fill="#fff"/>
+  <path style="color:black;" d="m1544 1733-30-118q-195-45-490-45-292 0-488 45l-32 119q190-58 521-58 159 0 295 16t224 41z" display="block" fill="#fff"/>
+ </g>
+</svg>
diff --git a/pieces/red_knight.svg b/pieces/red_knight.svg
new file mode 100644
index 0000000..537dc09
--- /dev/null
+++ b/pieces/red_knight.svg
@@ -0,0 +1,11 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m490 683q4 9 13 27 17 42 17 50-2 28-29 28-20 0-47-57-4-8-12-14-27-28 8-47 32-19 50 13zm590 371q70 92 69 205-4 33-38 33-46 0-36-34 3-55-11-91-23-57-51-85-15-30 18-44 32-15 49 16zm-261 488q-5 36 2 78-60-12-113-56-32-17-15-47 17-31 47-10 21 11 38 20t41 15zm937-1268q-1 0 2 54t3 118q1 125 0 258t-36 267q-34 128-75 218t-89 157q-72 108-196 183t-259 98q4-23 3-47t0-46q97-33 183-82t126-106q48-66 89-156t75-219q34-133 35-266t1-259q0-63-3-117t0-55h141zm-677 1423q157-10 291-81t228-182q66-78 124-188t94-233q40-143 50-300t11-292v-218t-155 0-404 0h-671q-9 0-9 49t7 79q4 24 19 68t50 107q16 32 76 93t138 143q45 46 70 116t22 127q-37-30-81-49-212-76-307-220-7-9-45-81-20-38-34-52-19-19-55-21-56-3-87 54-42-12-75-10-56 21-81 45-51 51-66 102t-16 110q0 84 104 222 122 159 130 242 0 36 7 81 6 31 25 60 13 20 17 27t17 23q9 12 15 18t15 18q11 13 28 30-53 146-43 301 199-71 334-223 33 113 130 183 80-56 127-148zm-675-836q29 20 6 48-24 23-53 4-61-40-65-105 1-33 39-31 36 3 35 37 8 32 38 47zm252 498q22 11 22 11 30 12 19 44-12 30-46 20-118-43-163-158-7-33 24-45 31-10 42 22 8 17 12 22 11-9 29-12 61-10 71 54 3 22-10 42z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
+ <g fill-rule="nonzero" fill="#fff">
+  <path style="color:black;" d="m490 1365q4-9 13-27 17-42 17-50-2-28-29-28-20 0-47 57-4 8-12 14-27 28 8 47 32 19 50-13z" display="block"/>
+  <path style="color:black;" d="m1080 994q70-92 69-205-4-33-38-33-46 0-36 34 3 55-11 91-23 57-51 85-15 30 18 44 32 15 49-16z" display="block"/>
+  <path style="color:black;" d="m819 506q-5-36 2-78-60 12-113 56-32 17-15 47 17 31 47 10 21-11 38-20t41-15z" display="block"/>
+  <path style="color:black;" d="m1756 1774q-1 0 2-54t3-118q1-125 0-258t-36-267q-34-128-75-218t-89-157q-72-108-196-183t-259-98q4 23 3 47t0 46q97 33 183 82t126 106q48 66 89 156t75 219q34 133 35 266t1 259q0 63-3 117t0 55h141z" display="block"/>
+  <path style="color:black;" d="m404 1187q29-20 6-48-24-23-53-4-61 40-65 105 1 33 39 31 36-3 35-37 8-32 38-47z" display="block"/>
+  <path style="color:black;" d="m656 689q22-11 22-11 30-12 19-44-12-30-46-20-118 43-163 158-7 33 24 45 31 10 42-22 8-17 12-22 11 9 29 12 61 10 71-54 3-22-10-42z" display="block"/>
+ </g>
+</svg>
diff --git a/pieces/red_pawn.svg b/pieces/red_pawn.svg
new file mode 100644
index 0000000..718a4a3
--- /dev/null
+++ b/pieces/red_pawn.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1024 205h-540q-40 100-40 209 0 185 105 332t270 210q-71 33-115 99t-45 151q0 105 70 182t172 89q-81 61-81 161 0 84 59 144t145 60q84 0 144-60t60-144q0-100-81-161 102-12 172-89t70-182q0-84-45-150t-116-100q165-63 270-210t105-332q0-108-39-209h-540z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
+</svg>
diff --git a/pieces/red_queen.svg b/pieces/red_queen.svg
new file mode 100644
index 0000000..52fcc2d
--- /dev/null
+++ b/pieces/red_queen.svg
@@ -0,0 +1,8 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1588 793q-83 30-233 49t-333 20q-178 0-326-18t-233-49l50-91q84 25 218 36t293 11q159 0 294-11t219-37l51 90zm226 668q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97q0-57-40-96t-96-40zm-1578 0q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97q0-57-40-96t-97-40zm1208 110q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-840 0q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm1036-1288q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-96 32l-30 118q-195 45-490 45-292 0-488-45l-32-119q190 58 521 58 159 0 295-16t224-41zm-26 299q-184 51-490 51-308 0-496-52l15-101q189 49 481 49 291 0 474-48l16 101zm-494 1007q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
+ <g fill-rule="nonzero" fill="#fff">
+  <path style="color:black;" d="m1588 1255q-83-30-233-49t-333-20q-178 0-326 18t-233 49l50 91q84-25 218-36t293-11 294 11 219 37l51-90z" display="block"/>
+  <path style="color:black;" d="m1544 1733-30-118q-195-45-490-45-292 0-488 45l-32 119q190-58 521-58 159 0 295 16t224 41z" display="block"/>
+  <path style="color:black;" d="m1518 1434q-184-51-490-51-308 0-496 52l15 101q189-49 481-49 291 0 474 48l16-101z" display="block"/>
+ </g>
+</svg>
diff --git a/pieces/red_rook.svg b/pieces/red_rook.svg
new file mode 100644
index 0000000..e4051e4
--- /dev/null
+++ b/pieces/red_rook.svg
@@ -0,0 +1,10 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1161 1706h170v137h274v-375l-222-171v-478l170-170v-205h153v-239h-1365v239h153v205l171 170v478l-222 171v375h273v-137h171v137h274v-137zm-597-1246v-102h920v102h-920zm460 1092h-512v-46l73-55h879l71 55v46h-511zm0-169h-350l60-47v-57h580v57l60 47h-350zm0-546h-290v-46l-60-58h700l-60 58v46h-290zm0-172h-414l-46-43v-58h920v58l-46 43h-414z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#a00"/>
+ <g fill-rule="nonzero" fill="#fff">
+  <path style="color:black;" d="m564 1588v102h920v-102h-920z" display="block"/>
+  <path style="color:black;" d="m1024 496h-512v46l73 55h879l71-55v-46h-511z" display="block"/>
+  <path style="color:black;" d="m1024 665h-350l60 47v57h580v-57l60-47h-350z" display="block"/>
+  <path style="color:black;" d="m1024 1211h-290v46l-60 58h700l-60-58v-46h-290z" display="block"/>
+  <path style="color:black;" d="m1024 1383h-414l-46 43v58h920v-58l-46-43h-414z" display="block"/>
+ </g>
+</svg>
diff --git a/pieces/white_king_bishop.svg b/pieces/white_king_bishop.svg
deleted file mode 100644
index 4af5154..0000000
--- a/pieces/white_king_bishop.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1024 1166q97 0 186 15 98-35 142-109 38-64 38-141 0-46-23-101t-75-101q-59-49-129-107t-139-137q-70 78-140 136t-128 108q-53 45-75 100t-23 102q0 77 37 141 43 74 143 109 88-15 186-15z" fill-rule="nonzero" display="block" fill="#fc0"/>
- <path style="color:black;" d="m988 1138l-83 1q-34 0-34 34t34 34h83v86q0 35 36 35 35 0 35-35v-86h86q33 0 33-34t-33-34h-86v-82q0-36-35-36-36 0-36 36v81zm36-578q68 0 132 11t125 28q-117 31-257 31-142 0-257-31 58-16 123-27t134-12zm0 1089q68 0 68 68t-68 68-68-68 68-68zm0-949q117 0 225-23l-48 123q-88 14-177 14-91 0-178-14l-48-123q107 23 226 23zm0 182q97 0 186-15 98 35 142 109 38 64 38 141 0 46-23 101t-75 101q-59 49-129 107t-139 137q-70-78-140-136t-128-108q-53-45-75-100t-23-102q0-77 37-141 43-74 143-109 88 15 186 15zm-36-377h-32q-56-90-107-113-24-12-53-22t-67-10q-7 0-107 16-48 7-76 15t-44 10q-57 7-133-6-46-8-86-29l48-78q12 12 31 15t36 8q42 7 80 2 13-3 51-7t101-15q75-11 102-11 105 0 161 40 34 26 64 72t31 113zm36-113q-14-57-34-79t-53-46q-36-25-85-42t-109-9l-281 39q-17 2-30 0t-26-2q-21 0-53-9t-51-28l-97 159q18 20 32 28t33 17q58 27 124 33 28 2 55 1t56 2q54-9 108-16t110-16q60 0 81 12 11 6 35 22t48 47q-53 6-108 20t-97 31l104 258q-78 45-109 72t-49 64q-26 46-33 89t-7 77q1 60 28 132t104 130q63 48 123 99t119 119q-74 38-74 121 0 56 39 96t97 40q56 0 96-40t40-96q0-82-74-121 58-68 117-119t125-99q75-57 102-129t29-133q0-34-7-77t-32-89q-20-36-50-63t-108-73l104-258q-44-16-99-30t-106-21q23-31 47-47t36-22q21-12 81-12 54 8 108 15t110 17q27-3 54-2t57-1q64-6 124-33 18-9 32-17t33-28l-98-159q-18 18-50 27t-53 10q-13 0-26 2t-31 0l-280-39q-60-9-111 8t-85 45q-33 27-52 46t-33 77zm35 113q0-66 30-112t66-73q55-40 161-40 26 0 102 11 62 10 100 14t51 8q38 5 80-2 16-4 35-7t33-16l48 78q-41 21-87 29-76 13-133 6-17-2-44-10t-75-15q-101-16-107-16-39 0-68 10t-52 22q-53 24-108 113h-32z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
- <g fill-rule="nonzero" fill="#fc0">
-  <path style="color:black;" d="m1024 1488q68 0 132-11t125-28q-117-31-257-31-142 0-257 31 58 16 123 27t134 12z" display="block"/>
-  <path style="color:black;" d="m1024 399q68 0 68-68t-68-68-68 68 68 68z" display="block"/>
-  <path style="color:black;" d="m1024 1348q117 0 225 23l-48-123q-88-14-177-14-91 0-178 14l-48 123q107-23 226-23z" display="block"/>
-  <path style="color:black;" d="m988 1543h-32q-56 90-107 113-24 12-53 22t-67 10q-7 0-107-16-48-7-76-15t-44-10q-57-7-133 6-46 8-86 29l48 78q12-12 31-15t36-8q42-7 80-2 13 3 51 7t101 15q75 11 102 11 105 0 161-40 34-26 64-72t31-113z" display="block"/>
-  <path style="color:black;" d="m1059 1543q0 66 30 112t66 73q55 40 161 40 26 0 102-11 62-10 100-14t51-8q38-5 80 2 16 4 35 7t33 16l48-78q-41-21-87-29-76-13-133-6-17 2-44 10t-75 15q-101 16-107 16-39 0-68-10t-52-22q-53-24-108-113h-32z" display="block"/>
- </g>
-</svg>
diff --git a/pieces/white_king_bishop.svg b/pieces/white_king_bishop.svg
new file mode 120000
index 0000000..6c74d4b
--- /dev/null
+++ b/pieces/white_king_bishop.svg
@@ -0,0 +1 @@
+yellow_bishop.svg
\ No newline at end of file
diff --git a/pieces/white_king_knight.svg b/pieces/white_king_knight.svg
deleted file mode 100644
index 20541c8..0000000
--- a/pieces/white_king_knight.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1756 1774q-1 0 2-54t3-118q1-125 0-258t-36-267q-34-128-75-218t-89-157q-72-108-196-183t-259-98q9 49 8 96-2 36-34 36-37 0-33-36 3-132-94-226-76 80-82 186-2 35-36 31-32-1-32-37 0 0 2-8-41 13-86 37-29 20-47-10t16-47q43-22 65-33-86-88-196-142 12 139 76 263 17 26-8 46-28 22-47-7-7-10-20-36-21 21-28 31-7 9-24 40t-26 51q-9 25-8 40t3 35q-9 59-40 111t-81 127q-47 72-72 108t-38 92q-9 34 0 82t39 76q46 47 89 43 14 0 37-11t37-42q26-57 43-57 25 0 27 28 0 6-16 50-9 20-24 42-19 26-17 22 16 57 53 20 11-11 25-41t44-81q35-59 75-96t71-60q18-13 44-30t70-35q35-14 77-34t76-53q46-45 71-111 13-37 10-91-9-34 34-34 32 0 36 33 0 113-64 206 21 64 11 140-9 61-42 130t-136 155q-207 172-196 354 0 0 170 0t321 0h547z" fill-rule="nonzero" display="block" fill="#fc0"/>
- <path style="color:black;" d="m697 1359q13-20 10-42-10-64-71-54-18 3-29 12-4-5-12-22-11-32-42-22-31 12-24 45 45 115 163 158 34 10 45-20 12-32-18-44-6-3-11-5t-11-6zm-297-477q-29-18-35-48 1-33-31-36-35-4-36 30 4 66 59 105 26 21 48-4 22-27-5-47zm679 815q157-10 291-81t228-182q66-78 124-188t94-233q40-143 50-300t11-292v-218t-155 0-404 0h-671q-9 0-9 49t7 79q4 24 19 68t50 107q16 32 76 93t138 143q45 46 70 116t22 127q-37-30-81-49-212-76-307-220-7-9-45-81-20-38-34-52-19-19-55-21-56-3-87 54-42-12-75-10-56 21-81 45-51 51-66 102t-16 110q0 84 104 222 122 159 130 242 0 36 7 81 6 31 25 60 13 20 17 27t17 23q9 12 15 18t15 18q11 13 28 30-53 146-43 301 199-71 334-223 33 113 130 183 80-56 127-148zm677-1423q-1 0 2 54t3 118q1 125 0 258t-36 267q-34 128-75 218t-89 157q-72 108-196 183t-259 98q9-49 8-96-2-36-34-36-37 0-33 36 3 132-94 226-76-80-82-186-2-35-36-31-32 1-32 37 0 0 2 8-41-13-86-37-29-20-47 10t16 47q43 22 65 33-86 88-196 142 12-139 76-263 17-26-8-46-28-22-47 7-7 10-20 36-21-21-28-31-7-9-24-40t-26-51q-9-25-8-40t3-35q-9-59-40-111t-81-127q-47-72-72-108t-38-92q-9-34 0-82t39-76q46-47 89-43 14 0 37 11t37 42q26 57 43 57 25 0 27-28 0-6-16-50-9-20-24-42-19-26-17-22 16-57 53-20 11 11 25 41t44 81q35 59 75 96t71 60q18 13 44 30t70 35q35 14 77 34t76 53q46 45 71 111 13 37 10 91-9 34 34 34 32 0 36-33 0-113-64-206 21-64 11-140-9-61-42-130t-136-155q-207-172-196-354 0 0 170 0t321 0h547z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
-</svg>
diff --git a/pieces/white_king_knight.svg b/pieces/white_king_knight.svg
new file mode 120000
index 0000000..59f1715
--- /dev/null
+++ b/pieces/white_king_knight.svg
@@ -0,0 +1 @@
+yellow_knight.svg
\ No newline at end of file
diff --git a/pieces/white_king_pawn.svg b/pieces/white_king_pawn.svg
deleted file mode 100644
index bc21051..0000000
--- a/pieces/white_king_pawn.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1024 273h491q21 72 21 141 0 156-86 283t-223 187q-66 5-66 72 0 53 67 78 93 65 93 172 0 77-52 135t-126 67q-60 5-60 68 0 28 22 52 54 42 54 110 0 56-40 96t-95 40q-57 0-96-40t-40-96q0-67 54-110 22-22 22-52 0-63-59-68-75-9-126-67t-52-135q0-107 93-172 67-26 67-78 0-67-67-72-136-60-222-187t-86-283q0-74 21-141h491zm0-68h-540q-40 100-40 209 0 185 105 332t270 210q-71 33-115 99t-45 151q0 105 70 182t172 89q-81 61-81 161 0 84 59 144t145 60q84 0 144-60t60-144q0-100-81-161 102-12 172-89t70-182q0-84-45-150t-116-100q165-63 270-210t105-332q0-108-39-209h-540z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
- <path style="color:black;" d="m1024 1775h491q21-72 21-141 0-156-86-283t-223-187q-66-5-66-72 0-53 67-78 93-65 93-172 0-77-52-135t-126-67q-60-5-60-68 0-28 22-52 54-42 54-110 0-56-40-96t-95-40q-57 0-96 40t-40 96q0 67 54 110 22 22 22 52 0 63-59 68-75 9-126 67t-52 135q0 107 93 172 67 26 67 78 0 67-67 72-136 60-222 187t-86 283q0 74 21 141h491z" fill-rule="nonzero" display="block" fill="#fc0"/>
-</svg>
diff --git a/pieces/white_king_pawn.svg b/pieces/white_king_pawn.svg
new file mode 120000
index 0000000..86b8dd8
--- /dev/null
+++ b/pieces/white_king_pawn.svg
@@ -0,0 +1 @@
+yellow_pawn.svg
\ No newline at end of file
diff --git a/pieces/white_king_queen.svg b/pieces/white_king_queen.svg
deleted file mode 100644
index 185be0e..0000000
--- a/pieces/white_king_queen.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1024 1621q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40zm0 70q67 0 67 67 0 66-67 66-66 0-66-66 0-67 66-67zm509-1007q-193 49-505 49-320 0-511-50l15-96q195 46 496 46 299 0 488-45l17 96zm25 60 65 115q-48-19-98-19-134 0-214 109-60-50-134-50-96 0-153 75-64-70-153-70-72 0-132 49-84-107-217-107-51 0-101 19l70-120q194 56 533 56 345 0 534-57zm-448 239-85 489-85-483q3 2 14 10 23 45 70 45 51 0 66-45 6-6 20-16zm277-19v463l-165-454q19 7 32 18 20 25 54 25 40 0 64-35 3-4 7-8t8-9zm-562 14-164 449v-457q3 4 9 10 20 42 66 42 38 0 62-32 27-12 27-12zm-254-56-215 371 55-338q57-40 111-40 21 0 49 7zm903-5q23-7 51-7 61 0 114 38l55 346-220-377zm60-506-30 113q-196 43-480 43-281 0-479-43l-31-114q186 56 511 56 317 0 509-55zm106-128q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-81 36q-183 76-531 76-355 0-537-78 175-69 534-69 172 0 314 19t220 52zm-955 1252q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm0 70q66 0 66 66t-66 66q-67 0-67-66t67-66zm840 0q67 0 67 66t-67 66q-66 0-66-66t66-66zm0-70q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-1208-110q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97-40-96-97-40zm0 70q67 0 67 66 0 67-67 67-66 0-66-67 0-66 66-66zm1578 0q66 0 66 66 0 67-66 67-67 0-67-67 0-66 67-66zm0-70q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97-40-96-96-40z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
- <g fill-rule="nonzero" fill="#fc0">
-  <path style="color:black;" d="m1024 357q67 0 67-67 0-66-67-66-66 0-66 66 0 67 66 67z" display="block"/>
-  <path style="color:black;" d="m1533 1364q-193-49-505-49-320 0-511 50l15 96q195-46 496-46 299 0 488 45l17-96z" display="block"/>
-  <path style="color:black;" d="m1558 1304 65-115q-48 19-98 19-134 0-214-109-60 50-134 50-96 0-153-75-64 70-153 70-72 0-132-49-84 107-217 107-51 0-101-19l70 120q194-56 533-56 345 0 534 57z" display="block"/>
-  <path style="color:black;" d="m1110 1065-85-489-85 483q3-2 14-10 23-45 70-45 51 0 66 45 6 6 20 16z" display="block"/>
-  <path style="color:black;" d="m1387 1084v-463l-165 454q19-7 32-18 20-25 54-25 40 0 64 35 3 4 7 8t8 9z" display="block"/>
-  <path style="color:black;" d="m825 1070-164-449v457q3-4 9-10 20-42 66-42 38 0 62 32 27 12 27 12z" display="block"/>
-  <path style="color:black;" d="m571 1126-215-371 55 338q57 40 111 40 21 0 49-7z" display="block"/>
-  <path style="color:black;" d="m1474 1131q23 7 51 7 61 0 114-38l55-346-220 377z" display="block"/>
-  <path style="color:black;" d="m1534 1637-30-113q-196-43-480-43-281 0-479 43l-31 114q186-56 511-56 317 0 509 55z" display="block"/>
-  <path style="color:black;" d="m1559 1729q-183-76-531-76-355 0-537 78 175 69 534 69 172 0 314-19t220-52z" display="block"/>
-  <path style="color:black;" d="m604 407q66 0 66-66t-66-66q-67 0-67 66t67 66z" display="block"/>
-  <path style="color:black;" d="m1444 407q67 0 67-66t-67-66q-66 0-66 66t66 66z" display="block"/>
-  <path style="color:black;" d="m236 517q67 0 67-66 0-67-67-67-66 0-66 67 0 66 66 66z" display="block"/>
-  <path style="color:black;" d="m1814 517q66 0 66-66 0-67-66-67-67 0-67 67 0 66 67 66z" display="block"/>
- </g>
-</svg>
diff --git a/pieces/white_king_queen.svg b/pieces/white_king_queen.svg
new file mode 120000
index 0000000..cfb8668
--- /dev/null
+++ b/pieces/white_king_queen.svg
@@ -0,0 +1 @@
+yellow_queen.svg
\ No newline at end of file
diff --git a/pieces/white_king_rook.svg b/pieces/white_king_rook.svg
deleted file mode 100644
index 6c6528f..0000000
--- a/pieces/white_king_rook.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
- <path style="color:black;" d="m1161 1706h170v137h274v-375l-222-171v-478l170-170v-205h153v-239h-1365v239h153v205l171 170v478l-222 171v375h273v-137h171v137h274v-137zm478-1330h-1230v-103h1230v103zm-155 204h-920v-136h920v136zm-170 717h-580v-478h580v478zm222 239v239h-137v-137h-308v137h-135v-137h-307v137h-137v-239h1024zm-77-887l-103 102h-663l-105-102h871zm-110 716l127 103h-904l128-103h649z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
- <g fill-rule="nonzero" fill="#fc0">
-  <path style="color:black;" d="m1639 1672h-1230v103h1230v-103z" display="block"/>
-  <path style="color:black;" d="m1484 1468h-920v136h920v-136z" display="block"/>
-  <path style="color:black;" d="m1314 751h-580v478h580v-478z" display="block"/>
-  <path style="color:black;" d="m1536 512v-239h-137v137h-308v-137h-135v137h-307v-137h-137v239h1024z" display="block"/>
- </g>
- <path style="color:black;" d="m1459 1399-103-102h-663l-105 102h871z" fill-rule="nonzero" display="block" fill="#fc0"/>
- <path style="color:black;" d="m1349 683 127-103h-904l128 103h649z" fill-rule="nonzero" display="block" fill="#fc0"/>
-</svg>
diff --git a/pieces/white_king_rook.svg b/pieces/white_king_rook.svg
new file mode 120000
index 0000000..dafd4b9
--- /dev/null
+++ b/pieces/white_king_rook.svg
@@ -0,0 +1 @@
+yellow_rook.svg
\ No newline at end of file
diff --git a/pieces/yellow_bishop.svg b/pieces/yellow_bishop.svg
new file mode 100644
index 0000000..4af5154
--- /dev/null
+++ b/pieces/yellow_bishop.svg
@@ -0,0 +1,11 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1024 1166q97 0 186 15 98-35 142-109 38-64 38-141 0-46-23-101t-75-101q-59-49-129-107t-139-137q-70 78-140 136t-128 108q-53 45-75 100t-23 102q0 77 37 141 43 74 143 109 88-15 186-15z" fill-rule="nonzero" display="block" fill="#fc0"/>
+ <path style="color:black;" d="m988 1138l-83 1q-34 0-34 34t34 34h83v86q0 35 36 35 35 0 35-35v-86h86q33 0 33-34t-33-34h-86v-82q0-36-35-36-36 0-36 36v81zm36-578q68 0 132 11t125 28q-117 31-257 31-142 0-257-31 58-16 123-27t134-12zm0 1089q68 0 68 68t-68 68-68-68 68-68zm0-949q117 0 225-23l-48 123q-88 14-177 14-91 0-178-14l-48-123q107 23 226 23zm0 182q97 0 186-15 98 35 142 109 38 64 38 141 0 46-23 101t-75 101q-59 49-129 107t-139 137q-70-78-140-136t-128-108q-53-45-75-100t-23-102q0-77 37-141 43-74 143-109 88 15 186 15zm-36-377h-32q-56-90-107-113-24-12-53-22t-67-10q-7 0-107 16-48 7-76 15t-44 10q-57 7-133-6-46-8-86-29l48-78q12 12 31 15t36 8q42 7 80 2 13-3 51-7t101-15q75-11 102-11 105 0 161 40 34 26 64 72t31 113zm36-113q-14-57-34-79t-53-46q-36-25-85-42t-109-9l-281 39q-17 2-30 0t-26-2q-21 0-53-9t-51-28l-97 159q18 20 32 28t33 17q58 27 124 33 28 2 55 1t56 2q54-9 108-16t110-16q60 0 81 12 11 6 35 22t48 47q-53 6-108 20t-97 31l104 258q-78 45-109 72t-49 64q-26 46-33 89t-7 77q1 60 28 132t104 130q63 48 123 99t119 119q-74 38-74 121 0 56 39 96t97 40q56 0 96-40t40-96q0-82-74-121 58-68 117-119t125-99q75-57 102-129t29-133q0-34-7-77t-32-89q-20-36-50-63t-108-73l104-258q-44-16-99-30t-106-21q23-31 47-47t36-22q21-12 81-12 54 8 108 15t110 17q27-3 54-2t57-1q64-6 124-33 18-9 32-17t33-28l-98-159q-18 18-50 27t-53 10q-13 0-26 2t-31 0l-280-39q-60-9-111 8t-85 45q-33 27-52 46t-33 77zm35 113q0-66 30-112t66-73q55-40 161-40 26 0 102 11 62 10 100 14t51 8q38 5 80-2 16-4 35-7t33-16l48 78q-41 21-87 29-76 13-133 6-17-2-44-10t-75-15q-101-16-107-16-39 0-68 10t-52 22q-53 24-108 113h-32z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
+ <g fill-rule="nonzero" fill="#fc0">
+  <path style="color:black;" d="m1024 1488q68 0 132-11t125-28q-117-31-257-31-142 0-257 31 58 16 123 27t134 12z" display="block"/>
+  <path style="color:black;" d="m1024 399q68 0 68-68t-68-68-68 68 68 68z" display="block"/>
+  <path style="color:black;" d="m1024 1348q117 0 225 23l-48-123q-88-14-177-14-91 0-178 14l-48 123q107-23 226-23z" display="block"/>
+  <path style="color:black;" d="m988 1543h-32q-56 90-107 113-24 12-53 22t-67 10q-7 0-107-16-48-7-76-15t-44-10q-57-7-133 6-46 8-86 29l48 78q12-12 31-15t36-8q42-7 80-2 13 3 51 7t101 15q75 11 102 11 105 0 161-40 34-26 64-72t31-113z" display="block"/>
+  <path style="color:black;" d="m1059 1543q0 66 30 112t66 73q55 40 161 40 26 0 102-11 62-10 100-14t51-8q38-5 80 2 16 4 35 7t33 16l48-78q-41-21-87-29-76-13-133-6-17 2-44 10t-75 15q-101 16-107 16-39 0-68-10t-52-22q-53-24-108-113h-32z" display="block"/>
+ </g>
+</svg>
diff --git a/pieces/yellow_king.svg b/pieces/yellow_king.svg
new file mode 100644
index 0000000..9aed42c
--- /dev/null
+++ b/pieces/yellow_king.svg
@@ -0,0 +1,11 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m524 583q190 48 504 48 308 0 497-46l25 147q-201 53-526 53-327 0-525-54l25-148zm-61-61l-33 187q-1 0-3 4-5 7-28 18t-55 40q-44 37-68 60t-45 50q-61 84-68 203-10 115 93 229 104 114 281 107 66-4 155-32 29-12 59-23t61-24q16-8 28-16-5 21-5 42 0 78 55 133t134 56q78 0 133-55t55-133q0-16-4-42 14 9 27 15 46 20 121 47 86 29 155 33 177 8 280-107 101-114 94-229-8-119-69-203-20-27-45-50t-67-60q-33-28-56-39t-27-19q-1-2-2-3t-1-2l-32-188 66-247q-50-45-224-74t-402-29q-232 0-408 30t-221 77l66 244zm1081-117l-30 115q-198 44-490 44-291 0-489-44l-32-116q191 56 522 56 329 0 519-55zm26-94q-193 78-542 78-362 0-548-80 176-70 545-70 176 0 321 19t224 53zm-581 542q-1 39-3 77t-15 86q-41 134-124 216-43 42-132 78-102 40-193 40-158 0-234-113-43-60-43-150 0-98 48-161 29-37 74-74t84-67q175 63 538 68zm35 186q7 28 12 39 10 39 23 66 6 17 17 39t25 52q8 17 17 41t18 49q8 20 8 43 0 49-35 83t-85 35q-119 0-119-119 0-23 8-43 22-65 34-90 13-29 24-51t19-40q13-33 22-66 2-6 12-38zm34-186q172-2 315-20t224-47q38 30 83 66t75 75q48 61 48 161 0 90-43 150-77 112-234 112-94 0-193-39-87-35-132-78-84-84-124-216-14-47-16-85t-3-79zm1 706h-71v131h-83q-34 0-34 33v1q0 33 34 33h83v85q0 35 36 35 35 0 35-35v-85h86q33 0 33-33v-1q0-33-33-33l-85-1-1-130z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
+ <g fill-rule="nonzero" fill="#fc0">
+  <path style="color:black;" d="m524 1465q190-48 504-48 308 0 497 46l25-147q-201-53-526-53-327 0-525 54l25 148z" display="block"/>
+  <path style="color:black;" d="m1544 1643-30-115q-198-44-490-44-291 0-489 44l-32 116q191-56 522-56 329 0 519 55z" display="block"/>
+  <path style="color:black;" d="m1570 1737q-193-78-542-78-362 0-548 80 176 70 545 70 176 0 321-19t224-53z" display="block"/>
+  <path style="color:black;" d="m989 1195q-1-39-3-77t-15-86q-41-134-124-216-43-42-132-78-102-40-193-40-158 0-234 113-43 60-43 150 0 98 48 161 29 37 74 74t84 67q175-63 538-68z" display="block"/>
+  <path style="color:black;" d="m1024 1009q7-28 12-39 10-39 23-66 6-17 17-39t25-52q8-17 17-41t18-49q8-20 8-43 0-49-35-83t-85-35q-119 0-119 119 0 23 8 43 22 65 34 90 13 29 24 51t19 40q13 33 22 66 2 6 12 38z" display="block"/>
+  <path style="color:black;" d="m1058 1195q172 2 315 20t224 47q38-30 83-66t75-75q48-61 48-161 0-90-43-150-77-112-234-112-94 0-193 39-87 35-132 78-84 84-124 216-14 47-16 85t-3 79z" display="block"/>
+ </g>
+</svg>
diff --git a/pieces/yellow_knight.svg b/pieces/yellow_knight.svg
new file mode 100644
index 0000000..20541c8
--- /dev/null
+++ b/pieces/yellow_knight.svg
@@ -0,0 +1,4 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1756 1774q-1 0 2-54t3-118q1-125 0-258t-36-267q-34-128-75-218t-89-157q-72-108-196-183t-259-98q9 49 8 96-2 36-34 36-37 0-33-36 3-132-94-226-76 80-82 186-2 35-36 31-32-1-32-37 0 0 2-8-41 13-86 37-29 20-47-10t16-47q43-22 65-33-86-88-196-142 12 139 76 263 17 26-8 46-28 22-47-7-7-10-20-36-21 21-28 31-7 9-24 40t-26 51q-9 25-8 40t3 35q-9 59-40 111t-81 127q-47 72-72 108t-38 92q-9 34 0 82t39 76q46 47 89 43 14 0 37-11t37-42q26-57 43-57 25 0 27 28 0 6-16 50-9 20-24 42-19 26-17 22 16 57 53 20 11-11 25-41t44-81q35-59 75-96t71-60q18-13 44-30t70-35q35-14 77-34t76-53q46-45 71-111 13-37 10-91-9-34 34-34 32 0 36 33 0 113-64 206 21 64 11 140-9 61-42 130t-136 155q-207 172-196 354 0 0 170 0t321 0h547z" fill-rule="nonzero" display="block" fill="#fc0"/>
+ <path style="color:black;" d="m697 1359q13-20 10-42-10-64-71-54-18 3-29 12-4-5-12-22-11-32-42-22-31 12-24 45 45 115 163 158 34 10 45-20 12-32-18-44-6-3-11-5t-11-6zm-297-477q-29-18-35-48 1-33-31-36-35-4-36 30 4 66 59 105 26 21 48-4 22-27-5-47zm679 815q157-10 291-81t228-182q66-78 124-188t94-233q40-143 50-300t11-292v-218t-155 0-404 0h-671q-9 0-9 49t7 79q4 24 19 68t50 107q16 32 76 93t138 143q45 46 70 116t22 127q-37-30-81-49-212-76-307-220-7-9-45-81-20-38-34-52-19-19-55-21-56-3-87 54-42-12-75-10-56 21-81 45-51 51-66 102t-16 110q0 84 104 222 122 159 130 242 0 36 7 81 6 31 25 60 13 20 17 27t17 23q9 12 15 18t15 18q11 13 28 30-53 146-43 301 199-71 334-223 33 113 130 183 80-56 127-148zm677-1423q-1 0 2 54t3 118q1 125 0 258t-36 267q-34 128-75 218t-89 157q-72 108-196 183t-259 98q9-49 8-96-2-36-34-36-37 0-33 36 3 132-94 226-76-80-82-186-2-35-36-31-32 1-32 37 0 0 2 8-41-13-86-37-29-20-47 10t16 47q43 22 65 33-86 88-196 142 12-139 76-263 17-26-8-46-28-22-47 7-7 10-20 36-21-21-28-31-7-9-24-40t-26-51q-9-25-8-40t3-35q-9-59-40-111t-81-127q-47-72-72-108t-38-92q-9-34 0-82t39-76q46-47 89-43 14 0 37 11t37 42q26 57 43 57 25 0 27-28 0-6-16-50-9-20-24-42-19-26-17-22 16-57 53-20 11 11 25 41t44 81q35 59 75 96t71 60q18 13 44 30t70 35q35 14 77 34t76 53q46 45 71 111 13 37 10 91-9 34 34 34 32 0 36-33 0-113-64-206 21-64 11-140-9-61-42-130t-136-155q-207-172-196-354 0 0 170 0t321 0h547z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
+</svg>
diff --git a/pieces/yellow_pawn.svg b/pieces/yellow_pawn.svg
new file mode 100644
index 0000000..bc21051
--- /dev/null
+++ b/pieces/yellow_pawn.svg
@@ -0,0 +1,4 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1024 273h491q21 72 21 141 0 156-86 283t-223 187q-66 5-66 72 0 53 67 78 93 65 93 172 0 77-52 135t-126 67q-60 5-60 68 0 28 22 52 54 42 54 110 0 56-40 96t-95 40q-57 0-96-40t-40-96q0-67 54-110 22-22 22-52 0-63-59-68-75-9-126-67t-52-135q0-107 93-172 67-26 67-78 0-67-67-72-136-60-222-187t-86-283q0-74 21-141h491zm0-68h-540q-40 100-40 209 0 185 105 332t270 210q-71 33-115 99t-45 151q0 105 70 182t172 89q-81 61-81 161 0 84 59 144t145 60q84 0 144-60t60-144q0-100-81-161 102-12 172-89t70-182q0-84-45-150t-116-100q165-63 270-210t105-332q0-108-39-209h-540z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
+ <path style="color:black;" d="m1024 1775h491q21-72 21-141 0-156-86-283t-223-187q-66-5-66-72 0-53 67-78 93-65 93-172 0-77-52-135t-126-67q-60-5-60-68 0-28 22-52 54-42 54-110 0-56-40-96t-95-40q-57 0-96 40t-40 96q0 67 54 110 22 22 22 52 0 63-59 68-75 9-126 67t-52 135q0 107 93 172 67 26 67 78 0 67-67 72-136 60-222 187t-86 283q0 74 21 141h491z" fill-rule="nonzero" display="block" fill="#fc0"/>
+</svg>
diff --git a/pieces/yellow_queen.svg b/pieces/yellow_queen.svg
new file mode 100644
index 0000000..185be0e
--- /dev/null
+++ b/pieces/yellow_queen.svg
@@ -0,0 +1,19 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1024 1621q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40zm0 70q67 0 67 67 0 66-67 66-66 0-66-66 0-67 66-67zm509-1007q-193 49-505 49-320 0-511-50l15-96q195 46 496 46 299 0 488-45l17 96zm25 60 65 115q-48-19-98-19-134 0-214 109-60-50-134-50-96 0-153 75-64-70-153-70-72 0-132 49-84-107-217-107-51 0-101 19l70-120q194 56 533 56 345 0 534-57zm-448 239-85 489-85-483q3 2 14 10 23 45 70 45 51 0 66-45 6-6 20-16zm277-19v463l-165-454q19 7 32 18 20 25 54 25 40 0 64-35 3-4 7-8t8-9zm-562 14-164 449v-457q3 4 9 10 20 42 66 42 38 0 62-32 27-12 27-12zm-254-56-215 371 55-338q57-40 111-40 21 0 49 7zm903-5q23-7 51-7 61 0 114 38l55 346-220-377zm60-506-30 113q-196 43-480 43-281 0-479-43l-31-114q186 56 511 56 317 0 509-55zm106-128q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-81 36q-183 76-531 76-355 0-537-78 175-69 534-69 172 0 314 19t220 52zm-955 1252q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm0 70q66 0 66 66t-66 66q-67 0-67-66t67-66zm840 0q67 0 67 66t-67 66q-66 0-66-66t66-66zm0-70q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-1208-110q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97-40-96-97-40zm0 70q67 0 67 66 0 67-67 67-66 0-66-67 0-66 66-66zm1578 0q66 0 66 66 0 67-66 67-67 0-67-67 0-66 67-66zm0-70q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97-40-96-96-40z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
+ <g fill-rule="nonzero" fill="#fc0">
+  <path style="color:black;" d="m1024 357q67 0 67-67 0-66-67-66-66 0-66 66 0 67 66 67z" display="block"/>
+  <path style="color:black;" d="m1533 1364q-193-49-505-49-320 0-511 50l15 96q195-46 496-46 299 0 488 45l17-96z" display="block"/>
+  <path style="color:black;" d="m1558 1304 65-115q-48 19-98 19-134 0-214-109-60 50-134 50-96 0-153-75-64 70-153 70-72 0-132-49-84 107-217 107-51 0-101-19l70 120q194-56 533-56 345 0 534 57z" display="block"/>
+  <path style="color:black;" d="m1110 1065-85-489-85 483q3-2 14-10 23-45 70-45 51 0 66 45 6 6 20 16z" display="block"/>
+  <path style="color:black;" d="m1387 1084v-463l-165 454q19-7 32-18 20-25 54-25 40 0 64 35 3 4 7 8t8 9z" display="block"/>
+  <path style="color:black;" d="m825 1070-164-449v457q3-4 9-10 20-42 66-42 38 0 62 32 27 12 27 12z" display="block"/>
+  <path style="color:black;" d="m571 1126-215-371 55 338q57 40 111 40 21 0 49-7z" display="block"/>
+  <path style="color:black;" d="m1474 1131q23 7 51 7 61 0 114-38l55-346-220 377z" display="block"/>
+  <path style="color:black;" d="m1534 1637-30-113q-196-43-480-43-281 0-479 43l-31 114q186-56 511-56 317 0 509 55z" display="block"/>
+  <path style="color:black;" d="m1559 1729q-183-76-531-76-355 0-537 78 175 69 534 69 172 0 314-19t220-52z" display="block"/>
+  <path style="color:black;" d="m604 407q66 0 66-66t-66-66q-67 0-67 66t67 66z" display="block"/>
+  <path style="color:black;" d="m1444 407q67 0 67-66t-67-66q-66 0-66 66t66 66z" display="block"/>
+  <path style="color:black;" d="m236 517q67 0 67-66 0-67-67-67-66 0-66 67 0 66 66 66z" display="block"/>
+  <path style="color:black;" d="m1814 517q66 0 66-66 0-67-66-67-67 0-67 67 0 66 67 66z" display="block"/>
+ </g>
+</svg>
diff --git a/pieces/yellow_rook.svg b/pieces/yellow_rook.svg
new file mode 100644
index 0000000..6c6528f
--- /dev/null
+++ b/pieces/yellow_rook.svg
@@ -0,0 +1,11 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 2048 2048">
+ <path style="color:black;" d="m1161 1706h170v137h274v-375l-222-171v-478l170-170v-205h153v-239h-1365v239h153v205l171 170v478l-222 171v375h273v-137h171v137h274v-137zm478-1330h-1230v-103h1230v103zm-155 204h-920v-136h920v136zm-170 717h-580v-478h580v478zm222 239v239h-137v-137h-308v137h-135v-137h-307v137h-137v-239h1024zm-77-887l-103 102h-663l-105-102h871zm-110 716l127 103h-904l128-103h649z" fill-rule="nonzero" transform="translate(0,2048) scale(1,-1)" display="block" fill="#000"/>
+ <g fill-rule="nonzero" fill="#fc0">
+  <path style="color:black;" d="m1639 1672h-1230v103h1230v-103z" display="block"/>
+  <path style="color:black;" d="m1484 1468h-920v136h920v-136z" display="block"/>
+  <path style="color:black;" d="m1314 751h-580v478h580v-478z" display="block"/>
+  <path style="color:black;" d="m1536 512v-239h-137v137h-308v-137h-135v137h-307v-137h-137v239h1024z" display="block"/>
+ </g>
+ <path style="color:black;" d="m1459 1399-103-102h-663l-105 102h871z" fill-rule="nonzero" display="block" fill="#fc0"/>
+ <path style="color:black;" d="m1349 683 127-103h-904l128 103h649z" fill-rule="nonzero" display="block" fill="#fc0"/>
+</svg>
diff --git a/variants/Chakart/class.js b/variants/Chakart/class.js
index 0403624..9b62150 100644
--- a/variants/Chakart/class.js
+++ b/variants/Chakart/class.js
@@ -141,7 +141,7 @@ export class ChakartRules extends ChessRules {
       b: Array.toObject(pieces, allCapts.slice(6, 12))
     };
     this.reserve = { w: {}, b: {} }; //to be replaced by this.captured
-    this.effect = "";
+    this.moveStack = [];
   }
 
   // For Toadette bonus
@@ -186,10 +186,57 @@ export class ChakartRules extends ChessRules {
 
 // TODO: rethink from here:
 
+
+// allow pawns 
+  // queen invisible move, king shell: special functions
+
+// prevent pawns from capturing invisible queen (post)
+// post-process: 
+
+//events : playPlusVisual after mouse up, playReceived (include animation) on opp move
+// ==> if move.cont (banana...) self re-call playPlusVisual (rec ?)
+
+  // Initial call: effects resolved after playing
   getPotentialMovesFrom([x, y]) {
     let moves = [];
-    if (this.subTurn == 1) {
-      moves = super.getPotentialMovesFrom([x, y]);
+    switch (this.getPiece(x, y)) {
+      case 'p':
+        moves = this.getPawnMovesFrom([x, y]); //apply promotions
+        break;
+      case 'q':
+        moves = this.getQueenMovesFrom([x, y]);
+        break;
+      case 'k',
+          moves = this.getKingMoves([x, y]);
+          break;
+      default:
+        moves = super.getPotentialMovesFrom([x, y]);
+    }
+    return moves;
+  }
+
+
+
+  tryMoveFollowup(move) {
+    if (this.getColor(move.end.x, move.end.y) == 'a') {
+      // effect, or bonus/malus
+      const endType = this.getPiece(m.end.x, m.end.y);
+      if (endType == V.EGG)
+        this.applyRandomBonus(m);
+      else {
+        this.moveStack.push(m);
+        switch (endType) {
+          case V.BANANA:
+            this.randomRedirect(
+        case V.BOMB:
+        case V.MUSHROOM:
+          // aller dans direction, saut par dessus pièce adverse
+              // ou amie (tjours), new step si roi caval pion
+      }
+    }
+  }
+
+
       const finalPieces = V.PawnSpecs.promotions;
       const color = this.turn;
       const lastRank = (color == "w" ? 0 : 7);
@@ -271,8 +318,8 @@ export class ChakartRules extends ChessRules {
 
   // Helper for getBasicMove(): banana/bomb effect
   getRandomSquare([x, y], steps) {
-    const validSteps = steps.filter(s => V.OnBoard(x + s[0], y + s[1]));
-    const step = validSteps[randInt(validSteps.length)];
+    const validSteps = steps.filter(s => this.onBoard(x + s[0], y + s[1]));
+    const step = validSteps[Random.randInt(validSteps.length)];
     return [x + step[0], y + step[1]];
   }
 
@@ -923,7 +970,8 @@ export class ChakartRules extends ChessRules {
 
 
 
-
+/// if any of my pieces was immobilized, it's not anymore.
+  //if play set a piece immobilized, then mark it
   prePlay(move) {
     if (move.effect == "toadette")
       this.reserve = this.captured;
-- 
2.44.0