diff --git a/Structural/Adapter/README.md b/Structural/Adapter/README.md
index 5d77709..3391617 100644
--- a/Structural/Adapter/README.md
+++ b/Structural/Adapter/README.md
@@ -8,3 +8,8 @@ To translate one interface for a class into a compatible interface. An adapter a
 
 * DB Client libraries adapter
 * using multiple different webservices and adapters normalize data so that the outcome is the same for all
+
+## UML Diagram
+
+<img src="uml.svg" alt="Adapter UML Diagram">
+![Alt Adapter UML Diagram](uml.svg)
\ No newline at end of file
diff --git a/Structural/Adapter/uml.svg b/Structural/Adapter/uml.svg
new file mode 100644
index 0000000..04259f1
--- /dev/null
+++ b/Structural/Adapter/uml.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="518pt" style="width:351px;height:518px;" version="1.1" viewBox="0 0 351 518" width="351pt"><defs><filter height="300%" id="f1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FEFECE" filter="url(#f1)" height="73.9102" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="68" y="8"/><ellipse cx="83" cy="24" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M78.9277,19.7651 L78.9277,17.6069 L86.3071,17.6069 L86.3071,19.7651 L83.8418,19.7651 L83.8418,27.8418 L86.3071,27.8418 L86.3071,30 L78.9277,30 L78.9277,27.8418 L81.3931,27.8418 L81.3931,19.7651 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="112" x="97" y="28.5352">PaperBookInterface</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="69" x2="211" y1="40" y2="40"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="69" x2="211" y1="48" y2="48"/><ellipse cx="79" cy="59.9775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="88" y="62.6348">turnPage()</text><ellipse cx="79" cy="72.9326" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="88" y="75.5898">open()</text><rect fill="#FEFECE" filter="url(#f1)" height="73.9102" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="174.75" y="302"/><ellipse cx="189.75" cy="318" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M185.6777,313.7651 L185.6777,311.6069 L193.0571,311.6069 L193.0571,313.7651 L190.5918,313.7651 L190.5918,321.8418 L193.0571,321.8418 L193.0571,324 L185.6777,324 L185.6777,321.8418 L188.1431,321.8418 L188.1431,313.7651 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="85" x="203.75" y="322.5352">EBookInterface</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="175.75" x2="290.75" y1="334" y2="334"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="175.75" x2="290.75" y1="342" y2="342"/><ellipse cx="185.75" cy="353.9775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="63" x="194.75" y="356.6348">pressNext()</text><ellipse cx="185.75" cy="366.9326" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="63" x="194.75" y="369.5898">pressStart()</text><rect fill="#FEFECE" filter="url(#f1)" height="73.9102" style="stroke: #A80036; stroke-width: 1.5;" width="82" x="6" y="155"/><ellipse cx="30.9" cy="171" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M33.8731,176.6431 Q33.2921,176.9419 32.6529,177.0913 Q32.0138,177.2407 31.3082,177.2407 Q28.8014,177.2407 27.4815,175.5889 Q26.1617,173.937 26.1617,170.8159 Q26.1617,167.6865 27.4815,166.0347 Q28.8014,164.3828 31.3082,164.3828 Q32.0138,164.3828 32.6612,164.5322 Q33.3087,164.6816 33.8731,164.9805 L33.8731,167.7031 Q33.2423,167.1221 32.6488,166.8523 Q32.0553,166.5825 31.4244,166.5825 Q30.0797,166.5825 29.3949,167.6492 Q28.7101,168.7158 28.7101,170.8159 Q28.7101,172.9077 29.3949,173.9744 Q30.0797,175.041 31.4244,175.041 Q32.0553,175.041 32.6488,174.7712 Q33.2423,174.5015 33.8731,173.9204 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="47.1" y="175.5352">Book</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="87" y1="187" y2="187"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="87" y1="195" y2="195"/><ellipse cx="17" cy="206.9775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="26" y="209.6348">open()</text><ellipse cx="17" cy="219.9326" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="26" y="222.5898">turnPage()</text><rect fill="#FEFECE" filter="url(#f1)" height="73.9102" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="188.75" y="436"/><ellipse cx="213.2" cy="452" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M216.1731,457.6431 Q215.5921,457.9419 214.9529,458.0913 Q214.3138,458.2407 213.6082,458.2407 Q211.1014,458.2407 209.7815,456.5889 Q208.4617,454.937 208.4617,451.8159 Q208.4617,448.6865 209.7815,447.0347 Q211.1014,445.3828 213.6082,445.3828 Q214.3138,445.3828 214.9612,445.5322 Q215.6087,445.6816 216.1731,445.9805 L216.1731,448.7031 Q215.5423,448.1221 214.9488,447.8523 Q214.3553,447.5825 213.7244,447.5825 Q212.3797,447.5825 211.6949,448.6492 Q211.0101,449.7158 211.0101,451.8159 Q211.0101,453.9077 211.6949,454.9744 Q212.3797,456.041 213.7244,456.041 Q214.3553,456.041 214.9488,455.7712 Q215.5423,455.5015 216.1731,454.9204 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="36" x="229.3" y="456.5352">Kindle</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="189.75" x2="276.75" y1="468" y2="468"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="189.75" x2="276.75" y1="476" y2="476"/><ellipse cx="199.75" cy="487.9775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="63" x="208.75" y="490.6348">pressNext()</text><ellipse cx="199.75" cy="500.9326" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="63" x="208.75" y="503.5898">pressStart()</text><rect fill="#FEFECE" filter="url(#f1)" height="99.8203" style="stroke: #A80036; stroke-width: 1.5;" width="219" x="123.75" y="142"/><ellipse cx="188" cy="158" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M190.9731,163.6431 Q190.3921,163.9419 189.7529,164.0913 Q189.1138,164.2407 188.4082,164.2407 Q185.9014,164.2407 184.5815,162.5889 Q183.2617,160.937 183.2617,157.8159 Q183.2617,154.6865 184.5815,153.0347 Q185.9014,151.3828 188.4082,151.3828 Q189.1138,151.3828 189.7612,151.5322 Q190.4087,151.6816 190.9731,151.9805 L190.9731,154.7031 Q190.3423,154.1221 189.7488,153.8523 Q189.1553,153.5825 188.5244,153.5825 Q187.1797,153.5825 186.4949,154.6492 Q185.8101,155.7158 185.8101,157.8159 Q185.8101,159.9077 186.4949,160.9744 Q187.1797,162.041 188.5244,162.041 Q189.1553,162.041 189.7488,161.7712 Q190.3423,161.5015 190.9731,160.9204 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="82" x="208.5" y="162.5352">EBookAdapter</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="124.75" x2="341.75" y1="174" y2="174"/><polygon fill="none" points="134.75,180.9775,138.75,184.9775,134.75,188.9775,130.75,184.9775" style="stroke: #B38D22; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="143.75" y="188.6348">eBook : EBookInterface</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="124.75" x2="341.75" y1="194.9551" y2="194.9551"/><ellipse cx="134.75" cy="206.9326" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="143.75" y="209.5898">__construct(ebook : EBookInterface)</text><ellipse cx="134.75" cy="219.8877" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="35" x="143.75" y="222.5449">open()</text><ellipse cx="134.75" cy="232.8428" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="143.75" y="235.5">turnPage()</text><path d="M105.8334,99.27 C93.9363,117.82 80.8782,138.179 70.0928,154.995 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="100.0823,95.271,116.772,82.216,111.867,102.83,100.0823,95.271" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M174.104,99.173 C183.057,113.132 192.671,128.121 201.482,141.858 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="168.133,102.83,163.228,82.216,179.918,95.271,168.133,102.83" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M233,396.379 C233,409.796 233,423.7553 233,435.974 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="226,396.07,233,376.07,240,396.07,226,396.07" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M233,255.219 C233,271.119 233,287.692 233,301.796 " fill="none" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="233,242.09,229,248.09,233,254.09,237,248.09,233,242.09" style="stroke: #A80036; stroke-width: 1.0;"/></g></svg>
\ No newline at end of file
diff --git a/Structural/Adapter/uml.txt b/Structural/Adapter/uml.txt
new file mode 100644
index 0000000..00aec7d
--- /dev/null
+++ b/Structural/Adapter/uml.txt
@@ -0,0 +1,33 @@
+@startuml
+interface PaperBookInterface {
+    +turnPage()
+    +open()
+}
+
+interface EBookInterface {
+    +pressNext()
+    +pressStart()
+}
+
+class Book {
+    +open()
+    +turnPage()
+}
+
+class Kindle {
+    +pressNext()
+    +pressStart()
+}
+
+class EBookAdapter {
+    #eBook : EBookInterface
+    +__construct(ebook : EBookInterface)
+    +open()
+    +turnPage()
+}
+
+PaperBookInterface <|.. Book
+PaperBookInterface <|.. EBookAdapter
+EBookInterface <|.. Kindle
+EBookAdapter o-- EBookInterface
+@enduml
\ No newline at end of file
diff --git a/Structural/Bridge/uml.svg b/Structural/Bridge/uml.svg
new file mode 100644
index 0000000..8525670
--- /dev/null
+++ b/Structural/Bridge/uml.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="250pt" style="width:492px;height:250px;" version="1.1" viewBox="0 0 492 250" width="492pt"><defs><filter height="300%" id="f1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FEFECE" filter="url(#f1)" height="60.9551" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="6" y="174.5"/><ellipse cx="21" cy="190.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9731,196.1431 Q23.3921,196.4419 22.7529,196.5913 Q22.1138,196.7407 21.4082,196.7407 Q18.9014,196.7407 17.5815,195.0889 Q16.2617,193.437 16.2617,190.3159 Q16.2617,187.1865 17.5815,185.5347 Q18.9014,183.8828 21.4082,183.8828 Q22.1138,183.8828 22.7612,184.0322 Q23.4087,184.1816 23.9731,184.4805 L23.9731,187.2031 Q23.3423,186.6221 22.7488,186.3523 Q22.1553,186.0825 21.5244,186.0825 Q20.1797,186.0825 19.4949,187.1492 Q18.8101,188.2158 18.8101,190.3159 Q18.8101,192.4077 19.4949,193.4744 Q20.1797,194.541 21.5244,194.541 Q22.1553,194.541 22.7488,194.2712 Q23.3423,194.0015 23.9731,193.4204 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="56" x="35" y="195.0352">Assemble</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="93" y1="206.5" y2="206.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="93" y1="214.5" y2="214.5"/><ellipse cx="17" cy="226.4775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="26" y="229.1348">work()</text><rect fill="#FEFECE" filter="url(#f1)" height="73.9102" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="244" y="168"/><ellipse cx="281.5" cy="184" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M284.4731,189.6431 Q283.8921,189.9419 283.2529,190.0913 Q282.6138,190.2407 281.9082,190.2407 Q279.4014,190.2407 278.0815,188.5889 Q276.7617,186.937 276.7617,183.8159 Q276.7617,180.6865 278.0815,179.0347 Q279.4014,177.3828 281.9082,177.3828 Q282.6138,177.3828 283.2612,177.5322 Q283.9087,177.6816 284.4731,177.9805 L284.4731,180.7031 Q283.8423,180.1221 283.2488,179.8523 Q282.6553,179.5825 282.0244,179.5825 Q280.6797,179.5825 279.9949,180.6492 Q279.3101,181.7158 279.3101,183.8159 Q279.3101,185.9077 279.9949,186.9744 Q280.6797,188.041 282.0244,188.041 Q282.6553,188.041 283.2488,187.7712 Q283.8423,187.5015 284.4731,186.9204 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="300.5" y="188.5352">Car</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="245" x2="345" y1="200" y2="200"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="245" x2="345" y1="208" y2="208"/><ellipse cx="255" cy="219.9775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="264" y="222.6348">__construct()</text><ellipse cx="255" cy="232.9326" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="264" y="235.5898">manufacture()</text><rect fill="#FEFECE" filter="url(#f1)" height="73.9102" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="381" y="168"/><ellipse cx="400.05" cy="184" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M403.0231,189.6431 Q402.4421,189.9419 401.8029,190.0913 Q401.1638,190.2407 400.4582,190.2407 Q397.9514,190.2407 396.6315,188.5889 Q395.3117,186.937 395.3117,183.8159 Q395.3117,180.6865 396.6315,179.0347 Q397.9514,177.3828 400.4582,177.3828 Q401.1638,177.3828 401.8112,177.5322 Q402.4587,177.6816 403.0231,177.9805 L403.0231,180.7031 Q402.3923,180.1221 401.7988,179.8523 Q401.2053,179.5825 400.5744,179.5825 Q399.2297,179.5825 398.5449,180.6492 Q397.8601,181.7158 397.8601,183.8159 Q397.8601,185.9077 398.5449,186.9744 Q399.2297,188.041 400.5744,188.041 Q401.2053,188.041 401.7988,187.7712 Q402.3923,187.5015 403.0231,186.9204 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="414.95" y="188.5352">Motorcycle</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="382" x2="482" y1="200" y2="200"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382" x2="482" y1="208" y2="208"/><ellipse cx="392" cy="219.9775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="401" y="222.6348">__construct()</text><ellipse cx="392" cy="232.9326" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="401" y="235.5898">manufacture()</text><rect fill="#FEFECE" filter="url(#f1)" height="60.9551" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="129.75" y="174.5"/><ellipse cx="144.75" cy="190.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M147.7231,196.1431 Q147.1421,196.4419 146.5029,196.5913 Q145.8638,196.7407 145.1582,196.7407 Q142.6514,196.7407 141.3315,195.0889 Q140.0117,193.437 140.0117,190.3159 Q140.0117,187.1865 141.3315,185.5347 Q142.6514,183.8828 145.1582,183.8828 Q145.8638,183.8828 146.5112,184.0322 Q147.1587,184.1816 147.7231,184.4805 L147.7231,187.2031 Q147.0923,186.6221 146.4988,186.3523 Q145.9053,186.0825 145.2744,186.0825 Q143.9297,186.0825 143.2449,187.1492 Q142.5601,188.2158 142.5601,190.3159 Q142.5601,192.4077 143.2449,193.4744 Q143.9297,194.541 145.2744,194.541 Q145.9053,194.541 146.4988,194.2712 Q147.0923,194.0015 147.7231,193.4204 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="158.75" y="195.0352">Produce</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="130.75" x2="207.75" y1="206.5" y2="206.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="130.75" x2="207.75" y1="214.5" y2="214.5"/><ellipse cx="140.75" cy="226.4775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="149.75" y="229.1348">work()</text><rect fill="#FEFECE" filter="url(#f1)" height="99.8203" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="299.75" y="8"/><ellipse cx="339.05" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M339.1633,19.3481 L338.0095,24.4199 L340.3254,24.4199 Z M337.6691,17.1069 L340.6657,17.1069 L344.0109,29.5 L341.5622,29.5 L340.7985,26.437 L337.5197,26.437 L336.7727,29.5 L334.3239,29.5 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="41" x="358.45" y="28.5352">Vehicle</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="300.75" x2="425.75" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="305.75" y="54.6348">protected workShop1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="305.75" y="67.5898">protected workShop2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="300.75" x2="425.75" y1="73.9102" y2="73.9102"/><ellipse cx="310.75" cy="85.8877" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="319.75" y="88.5449">__construct()</text><ellipse cx="310.75" cy="98.8428" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="319.75" y="101.5">manufacture()</text><rect fill="#FEFECE" filter="url(#f1)" height="60.9551" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="56.75" y="27.5"/><ellipse cx="71.75" cy="43.5" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M67.6777,39.2651 L67.6777,37.1069 L75.0571,37.1069 L75.0571,39.2651 L72.5918,39.2651 L72.5918,47.3418 L75.0571,47.3418 L75.0571,49.5 L67.6777,49.5 L67.6777,47.3418 L70.1431,47.3418 L70.1431,39.2651 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="57" x="85.75" y="48.0352">Workshop</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="57.75" x2="144.75" y1="59.5" y2="59.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="57.75" x2="144.75" y1="67.5" y2="67.5"/><ellipse cx="67.75" cy="79.4775" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="76.75" y="82.1348">work()</text><path d="M83.8499,107.76 C76.0876,129.829 67.1649,155.1979 60.4297,174.3469 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="77.3168,105.237,90.5563,88.693,90.5237,109.882,77.3168,105.237" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M123.55,107.086 C133.973,129.311 146.022,155.0025 155.094,174.3469 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="117.079,109.773,114.925,88.693,129.755,103.828,117.079,109.773" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M395.114,126.486 C401.895,140.735 408.799,155.2438 414.772,167.7961 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="388.633,129.158,386.36,108.09,401.275,123.142,388.633,129.158" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M331.351,126.486 C324.669,140.735 317.865,155.2438 311.978,167.7961 " fill="none" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="325.149,123.226,339.978,108.09,337.824,129.17,325.149,123.226" style="stroke: #A80036; stroke-width: 1.0;"/></g></svg>
\ No newline at end of file
diff --git a/Structural/Bridge/uml.txt b/Structural/Bridge/uml.txt
new file mode 100644
index 0000000..88015af
--- /dev/null
+++ b/Structural/Bridge/uml.txt
@@ -0,0 +1,35 @@
+@startuml
+class Assemble {
+    +work()
+}
+
+class Car {
+    +__construct()
+    +manufacture()
+}
+
+class Motorcycle {
+    +__construct()
+    +manufacture()
+}
+
+class Produce {
+    +work()
+}
+
+abstract class Vehicle {
+    protected workShop1
+    protected workShop2
+    +__construct()
+    +manufacture()
+}
+
+interface Workshop {
+    +work()
+}
+
+Workshop <|.. Assemble
+Workshop <|.. Produce
+Vehicle <|.. Motorcycle
+Vehicle <|.. Car
+@enduml
\ No newline at end of file