diff --git a/static/img_javascript/ex-3-14-sol-1.png b/static/img_javascript/ex-3-14-sol-1.png
new file mode 100644
index 000000000..2134056b0
Binary files /dev/null and b/static/img_javascript/ex-3-14-sol-1.png differ
diff --git a/static/img_javascript/ex-3-14-sol-2.png b/static/img_javascript/ex-3-14-sol-2.png
new file mode 100644
index 000000000..e1cc3c81f
Binary files /dev/null and b/static/img_javascript/ex-3-14-sol-2.png differ
diff --git a/xml/chapter3/section3/subsection1.xml b/xml/chapter3/section3/subsection1.xml
index eef18c8d8..dccc01ac0 100644
--- a/xml/chapter3/section3/subsection1.xml
+++ b/xml/chapter3/section3/subsection1.xml
@@ -945,6 +945,33 @@ const w = mystery(v);
What would be printed as the values of v
and w?
+
+ (provided by GitHub user jonathantorres)
+ The application mystery(x) will
+ reverse the list x in-place.
+ Initially
+ v looks like this:
+
+
+
+ After evaluating
+ const w = mystery(v);
+ the values of
+ v and
+ w become:
+
+
+
+ The function display
+ prints ["a", null] for
+ v and
+ ["d", ["c", ["b", ["a", null]]]] for
+ w.
+ mutable data objectslist structure