diff --git a/src/lib/libraries/decks/en-steps.js b/src/lib/libraries/decks/en-steps.js
index a3918e96c08d4144f50e395ae4103b95c2ff9486..360c6380dcb82c139cf5014e7fcf881e2dc5341b 100644
--- a/src/lib/libraries/decks/en-steps.js
+++ b/src/lib/libraries/decks/en-steps.js
@@ -183,6 +183,21 @@ import codeCartoonGlideAround from './steps/code-cartoon-09-glide-around.en.gif'
 import codeCartoonChangeCostumes from './steps/code-cartoon-10-change-costumes.en.gif';
 import codeCartoonChooseMoreCharacters from './steps/code-cartoon-11-choose-more-characters.en.jpg';
 
+// Talking Tales
+import talesAddExtension from './steps/talking-1-add-extension.en.gif';
+import talesChooseSprite from './steps/talking-2-choose-sprite.en.png';
+import talesSaySomething from './steps/talking-3-say-something.en.gif';
+import talesChooseBackdrop from './steps/talking-4-choose-backdrop.en.png';
+import talesSwitchBackdrop from './steps/talking-5-switch-backdrop.en.gif';
+import talesChooseAnotherSprite from './steps/talking-6-choose-another-sprite.en.png';
+import talesMoveAround from './steps/talking-7-move-around.en.gif';
+import talesChooseAnotherBackdrop from './steps/talking-8-choose-another-backdrop.en.png';
+import talesAnimateTalking from './steps/talking-9-animate.en.gif';
+import talesChooseThirdBackdrop from './steps/talking-10-choose-third-backdrop.en.png';
+import talesChooseSound from './steps/talking-11-choose-sound.en.gif';
+import talesDanceMoves from './steps/talking-12-dance-moves.en.gif';
+import talesAskAnswer from './steps/talking-13-ask-and-answer.en.gif';
+
 const enImages = {
     // Intro
     introMove: introMove,
@@ -289,7 +304,7 @@ const enImages = {
     flyAddScenery: flyAddScenery,
     flyMoveScenery: flyMoveScenery,
     flySwitchLooks: flySwitchLooks,
-    
+
     // Pong
     pongAddBackdrop: pongAddBackdrop,
     pongAddBallSprite: pongAddBallSprite,
@@ -304,7 +319,7 @@ const enImages = {
     pongResetScore: pongResetScore,
     pongAddLineSprite: pongAddLineSprite,
     pongGameOver: pongGameOver,
-    
+
     // Imagine a World
     imagineTypeWhatYouWant: imagineTypeWhatYouWant,
     imagineClickGreenFlag: imagineClickGreenFlag,
@@ -321,26 +336,26 @@ const enImages = {
     imagineSwitchBackdrops: imagineSwitchBackdrops,
     imagineRecordASound: imagineRecordASound,
     imagineChooseSound: imagineChooseSound,
-    
+
     // Add a Backdrop
     addBackdrop: addBackdrop,
-    
+
     // Add Effects
     addEffects: addEffects,
-    
+
     // Hide and Show
     hideAndShow: hideAndShow,
-    
+
     // Switch Costumes
     switchCostumes: switchCostumes,
-    
+
     // Change Size
     changeSize: changeSize,
-    
+
     // Spin
     spinTurn: spinTurn,
     spinPointInDirection: spinPointInDirection,
-    
+
     // Record a Sound
     recordASoundSoundsTab: recordASoundSoundsTab,
     recordASoundClickRecord: recordASoundClickRecord,
@@ -355,7 +370,7 @@ const enImages = {
     // Glide Around
     glideAroundBackAndForth: glideAroundBackAndForth,
     glideAroundPoint: glideAroundPoint,
-    
+
     // Code a Cartoon
     codeCartoonSaySomething: codeCartoonSaySomething,
     codeCartoonAnimate: codeCartoonAnimate,
@@ -367,8 +382,22 @@ const enImages = {
     codeCartoonChangeScenes: codeCartoonChangeScenes,
     codeCartoonGlideAround: codeCartoonGlideAround,
     codeCartoonChangeCostumes: codeCartoonChangeCostumes,
-    codeCartoonChooseMoreCharacters: codeCartoonChooseMoreCharacters
-    
+    codeCartoonChooseMoreCharacters: codeCartoonChooseMoreCharacters,
+
+    // Talking Tales
+    talesAddExtension: talesAddExtension,
+    talesChooseSprite: talesChooseSprite,
+    talesSaySomething: talesSaySomething,
+    talesAskAnswer: talesAskAnswer,
+    talesChooseBackdrop: talesChooseBackdrop,
+    talesSwitchBackdrop: talesSwitchBackdrop,
+    talesChooseAnotherSprite: talesChooseAnotherSprite,
+    talesMoveAround: talesMoveAround,
+    talesChooseAnotherBackdrop: talesChooseAnotherBackdrop,
+    talesAnimateTalking: talesAnimateTalking,
+    talesChooseThirdBackdrop: talesChooseThirdBackdrop,
+    talesChooseSound: talesChooseSound,
+    talesDanceMoves: talesDanceMoves
 };
 
 
diff --git a/src/lib/libraries/decks/index.jsx b/src/lib/libraries/decks/index.jsx
index 9f9347370e07740110495fafe659b11dd51f17f3..fa6a8e4b27d524e4add4e0084941c0cc9fcbc841 100644
--- a/src/lib/libraries/decks/index.jsx
+++ b/src/lib/libraries/decks/index.jsx
@@ -48,6 +48,9 @@ import libraryImagine from './thumbnails/imagine.jpg';
 // Code a Cartoon
 import libraryCodeCartoon from './thumbnails/code-a-cartoon.jpg';
 
+// Talking Tales
+import libraryTalking from './thumbnails/talking.png'
+
 // Videos
 import recordASound from './thumbnails/record-a-sound.jpg';
 import glideAroundThumb from './thumbnails/glide-around.jpg';
@@ -176,7 +179,7 @@ export default {
         ],
         urlId: 'name'
     },
-    
+
     'imagine': {
         name: (
             <FormattedMessage
@@ -333,7 +336,7 @@ export default {
         ],
         urlId: 'imagine'
     },
-    
+
     'Make-Music': {
         name: (
             <FormattedMessage
@@ -403,7 +406,7 @@ export default {
         ],
         urlId: 'music'
     },
- 
+
     'Tell-A-Story': {
         name: (
             <FormattedMessage
@@ -516,7 +519,7 @@ export default {
         ],
         urlId: 'tell-a-story'
     },
-    
+
     'Chase-Game': {
         name: (
             <FormattedMessage
@@ -714,7 +717,7 @@ export default {
         ],
         urlId: 'animate-a-character'
     },
-       
+
     'Make-A-Game': {
         name: (
             <FormattedMessage
@@ -801,7 +804,7 @@ export default {
         ],
         urlId: 'clicker-game'
     },
-    
+
     'make-it-fly': {
         name: (
             <FormattedMessage
@@ -931,7 +934,7 @@ export default {
         ],
         urlId: 'make-it-fly'
     },
-    
+
     'pong': {
         name: (
             <FormattedMessage
@@ -1193,7 +1196,106 @@ export default {
         ],
         urlId: 'code-cartoon'
     },
-        
+
+    'cartoon-network': {
+        name: (
+            <FormattedMessage
+                defaultMessage="Animate an Adventure Game"
+                description="Animate an Adventure Game' how-to"
+                id="gui.howtos.cartoon-network"
+            />
+        ),
+        requiredProjectId: '249143200',
+        img: libraryCartoonNetwork,
+        steps: [{
+            video: 'uz5oz5h9yg',
+            trackingPixel: (
+                <img src="https://code.org/api/hour/begin_scratch_adventure.png" />
+            )
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Choose a Character to Show"
+                    description="Step name for 'Choose a Character to Show' step"
+                    id="gui.howtos.cartoon-network.step_CNcharacter"
+                />
+            ),
+            image: 'cnShowCharacter'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Say Something"
+                    description="Step name for 'Say Something' step"
+                    id="gui.howtos.cartoon-network.step_CNsay"
+                />
+            ),
+            image: 'cnSay'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Glide Around"
+                    description="Step name for 'Glide Around' step"
+                    id="gui.howtos.cartoon-network.step_CNglide"
+                />
+            ),
+            image: 'cnGlide'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage=" Choose an Object to Chase "
+                    description="Step name for 'Choose an Object to Chase' step"
+                    id="gui.howtos.cartoon-network.step_CNpicksprite"
+                />
+            ),
+            image: 'cnPickSprite'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Collect Objects"
+                    description="Step name for 'Collect Objects' step"
+                    id="gui.howtos.cartoon-network.step_CNcollect"
+                />
+            ),
+            image: 'cnCollect'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Make a Score Variable"
+                    description="Step name for 'Make a Score Variable' step"
+                    id="gui.howtos.cartoon-network.step_CNvariable"
+                />
+            ),
+            image: 'cnVariable'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Keep Score"
+                    description="Step name for 'Keep Score' step"
+                    id="gui.howtos.cartoon-network.step_CNscore"
+                />
+            ),
+            image: 'cnScore'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Level Up: Change Backdrop"
+                    description="Step name for 'Level Up: Change Backdrop' step"
+                    id="gui.howtos.cartoon-network.step_CNbackdrop"
+                />
+            ),
+            image: 'cnBackdrop'
+        },
+        {
+            video: '6o76f5ivo1'
+        },
+        {
+            deckIds: [
+                'switch-costume',
+                'add-effects'
+            ]
+        }
+    ],
+
     'cartoon-network': {
         name: (
             <FormattedMessage
@@ -1466,7 +1568,146 @@ export default {
         ],
         urlId: 'animations-that-talk'
     },
-    
+
+    'talking': {
+    name: (
+        <FormattedMessage
+            defaultMessage="Talking Tales"
+            description="Name for the 'Talking Tales' how-to"
+            id="gui.howtos.talking"
+        />
+    ),
+    tags: ['talking'],
+    img: libraryTalking,
+    steps: [{
+            video: 'talking'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Click to Add the Text-to-Speech Blocks"
+                    description="Step name for 'Click to Add the Text-to-Speech Blocks' step"
+                    id="gui.howtos.talking.step_talesAddExtension"
+                />
+            ),
+            image: 'talesAddExtension'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Choose a Sprite"
+                    description="Step name for 'Choose a Sprite' step"
+                    id="gui.howtos.talking.step_talesChooseSprite"
+                />
+            ),
+            image: 'talesChooseSprite'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Make a Character Speak"
+                    description="Step name for 'Make a Character Speak' step"
+                    id="gui.howtos.talking.step_talesSaySomething"
+                />
+            ),
+            image: 'talesSaySomething'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Choose a Backdrop"
+                    description="Step name for 'Choose a Backdrop' step"
+                    id="gui.howtos.talking.step_talesChooseBackdrop"
+                />
+            ),
+            image: 'talesChooseBackdrop'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Click a Character to Go to the Next Backdrop"
+                    description="Step name for 'Click a Character to Go to the Next Backdrop' step"
+                    id="gui.howtos.talking.step_talesSwitchBackdrop"
+                />
+            ),
+            image: 'talesSwitchBackdrop'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Choose Another Sprite"
+                    description="Step name for 'Choose Another Sprite' step"
+                    id="gui.howtos.talking.step_talesChooseAnotherSprite"
+                />
+            ),
+            image: 'talesChooseAnotherSprite'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Move Around"
+                    description="Step name for 'Move Around' step"
+                    id="gui.howtos.talking.step_talesMoveAround"
+                />
+            ),
+            image: 'talesMoveAround'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Choose Another Backdrop"
+                    description="Step name for 'Choose Another Backdrop' step"
+                    id="gui.howtos.talking.step_talesChooseAnotherBackdrop"
+                />
+            ),
+            image: 'talesChooseAnotherBackdrop'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Animate Talking"
+                    description="Step name for 'Animate Talking' step"
+                    id="gui.howtos.talking.step_talesAnimateTalking"
+                />
+            ),
+            image: 'talesAnimateTalking'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Choose Another Backdrop"
+                    description="Step name for 'Choose Another Backdrop' step"
+                    id="gui.howtos.talking.step_talesChooseThirdBackdrop"
+                />
+            ),
+            image: 'talesChooseThirdBackdrop'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Choose a Song to Dance To"
+                    description="Step name for 'Choose a Song to Dance To' step"
+                    id="gui.howtos.talking.step_talesChooseSound"
+                />
+            ),
+            image: 'talesChooseSound'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Dance Moves"
+                    description="Step name for 'Dance Moves' step"
+                    id="gui.howtos.talking.step_talesDanceMoves"
+                />
+            ),
+            image: 'talesDanceMoves'
+        }, {
+            title: (
+                <FormattedMessage
+                    defaultMessage="Get the Ask and Answer Blocks from the Sensing Category"
+                    description="Step name for 'Get the Ask and Answer Blocks from the Sensing Category' step"
+                    id="gui.howtos.talking.step_talesAskAnswer"
+                />
+            ),
+            image: 'talesAskAnswer'
+        }, {
+            deckIds: [
+                'Tell-A-Story',
+                'Animate-A-Character'
+            ]
+        }
+        ],
+        urlId: 'talking'
+    },
+
     'add-sprite': {
         name: (
             <FormattedMessage
@@ -1497,7 +1738,7 @@ export default {
         ],
         urlId: 'add-a-sprite'
     },
-    
+
     'add-a-backdrop': {
         name: (
             <FormattedMessage
@@ -1529,7 +1770,7 @@ export default {
         }],
         urlId: 'add-a-backdrop'
     },
-    
+
     'change-size': {
         name: (
             <FormattedMessage
@@ -1559,7 +1800,7 @@ export default {
         }],
         urlId: 'change-size'
     },
-    
+
     'glide-around': {
         name: (
             <FormattedMessage
@@ -1664,7 +1905,7 @@ export default {
         }],
         urlId: 'record-a-sound'
     },
-    
+
     'spin-video': {
         name: (
             <FormattedMessage
@@ -1703,7 +1944,7 @@ export default {
         }],
         urlId: 'make-it-spin'
     },
-    
+
     'hide-and-show': {
         name: (
             <FormattedMessage
@@ -1802,7 +2043,7 @@ export default {
         }],
         urlId: 'arrow-keys'
     },
-    
+
     'add-effects': {
         name: (
             <FormattedMessage
@@ -1833,7 +2074,7 @@ export default {
         }],
         urlId: 'add-effects'
     },
-    
+
     'wedo2-getting-started': {
         steps: [{
             video: '4im7iizv47'
@@ -1841,7 +2082,7 @@ export default {
         urlId: 'wedo',
         hidden: true
     },
-    
+
     'ev3-getting-started': {
         steps: [{
             video: 'qgu78c5y7d'
@@ -1849,7 +2090,7 @@ export default {
         urlId: 'ev3',
         hidden: true
     },
-    
+
     'whats-new': {
         steps: [{
             video: 'mtqymxg0qq'
diff --git a/src/lib/libraries/decks/steps/talking-1-add-extension.en.gif b/src/lib/libraries/decks/steps/talking-1-add-extension.en.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4e7f295c22fe1fc703a074dedd58b3553a03fb5d
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-1-add-extension.en.gif differ
diff --git a/src/lib/libraries/decks/steps/talking-10-choose-third-backdrop.en.png b/src/lib/libraries/decks/steps/talking-10-choose-third-backdrop.en.png
new file mode 100755
index 0000000000000000000000000000000000000000..e266486bc283cd054a86be3e3c125ddb2e333da0
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-10-choose-third-backdrop.en.png differ
diff --git a/src/lib/libraries/decks/steps/talking-11-choose-sound.en.gif b/src/lib/libraries/decks/steps/talking-11-choose-sound.en.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dcc265b369f401c00421c9a6fbbe4eeb10d69018
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-11-choose-sound.en.gif differ
diff --git a/src/lib/libraries/decks/steps/talking-12-dance-moves.en.gif b/src/lib/libraries/decks/steps/talking-12-dance-moves.en.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cfb89bc19a261440eff42ee6b2b5a491579e1791
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-12-dance-moves.en.gif differ
diff --git a/src/lib/libraries/decks/steps/talking-13-ask-and-answer.en.gif b/src/lib/libraries/decks/steps/talking-13-ask-and-answer.en.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cb209ed6babb4e11d90c47753b793a1f09dde2c8
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-13-ask-and-answer.en.gif differ
diff --git a/src/lib/libraries/decks/steps/talking-2-choose-sprite.en.png b/src/lib/libraries/decks/steps/talking-2-choose-sprite.en.png
new file mode 100755
index 0000000000000000000000000000000000000000..9eeea61ad6ae2fea50704cf76f43bf077f77fcd9
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-2-choose-sprite.en.png differ
diff --git a/src/lib/libraries/decks/steps/talking-3-say-something.en.gif b/src/lib/libraries/decks/steps/talking-3-say-something.en.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4ab0e0e654955ddf60da10ee81b42b256d6cac80
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-3-say-something.en.gif differ
diff --git a/src/lib/libraries/decks/steps/talking-4-choose-backdrop.en.png b/src/lib/libraries/decks/steps/talking-4-choose-backdrop.en.png
new file mode 100755
index 0000000000000000000000000000000000000000..6a2c8d72220921eeb22bc2bc30fe057c31203dd2
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-4-choose-backdrop.en.png differ
diff --git a/src/lib/libraries/decks/steps/talking-5-switch-backdrop.en.gif b/src/lib/libraries/decks/steps/talking-5-switch-backdrop.en.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e17e5c8d44e724ba25d3235cf9fabb134abebea5
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-5-switch-backdrop.en.gif differ
diff --git a/src/lib/libraries/decks/steps/talking-6-choose-another-sprite.en.png b/src/lib/libraries/decks/steps/talking-6-choose-another-sprite.en.png
new file mode 100755
index 0000000000000000000000000000000000000000..cf01d27558ad4f5b549cdc89b0dc93b9cb15e82e
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-6-choose-another-sprite.en.png differ
diff --git a/src/lib/libraries/decks/steps/talking-7-move-around.en.gif b/src/lib/libraries/decks/steps/talking-7-move-around.en.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f7b190cd8681ebd611f982d4a3db9c3a93c477fd
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-7-move-around.en.gif differ
diff --git a/src/lib/libraries/decks/steps/talking-8-choose-another-backdrop.en.png b/src/lib/libraries/decks/steps/talking-8-choose-another-backdrop.en.png
new file mode 100755
index 0000000000000000000000000000000000000000..607d8672c6bce91eecac2bf4e8bb330959102665
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-8-choose-another-backdrop.en.png differ
diff --git a/src/lib/libraries/decks/steps/talking-9-animate.en.gif b/src/lib/libraries/decks/steps/talking-9-animate.en.gif
new file mode 100644
index 0000000000000000000000000000000000000000..567710db8695b1cce9a1d80ecfea52c54760aef4
Binary files /dev/null and b/src/lib/libraries/decks/steps/talking-9-animate.en.gif differ
diff --git a/src/lib/libraries/decks/thumbnails/talking.png b/src/lib/libraries/decks/thumbnails/talking.png
new file mode 100644
index 0000000000000000000000000000000000000000..51c06c6ef009bd738a4d9725806a97aed64445a7
Binary files /dev/null and b/src/lib/libraries/decks/thumbnails/talking.png differ
diff --git a/src/lib/libraries/decks/translate-video.js b/src/lib/libraries/decks/translate-video.js
index 066f6258c0ae05e3fd263270b7fe39c65935f703..8b58c08da7d7960a06ce30576513d4a6bc11bf49 100644
--- a/src/lib/libraries/decks/translate-video.js
+++ b/src/lib/libraries/decks/translate-video.js
@@ -126,6 +126,9 @@ const videos = {
     },
     'code-cartoon': {
         en: 'fpfuky3x6g'
+    },
+    'talking': {
+        en: 'j0208mq4qi'
     }
 };