+{/if}
\ No newline at end of file
diff --git a/site/content/tutorial/16-special-elements/01-self/text.md b/site/content/tutorial/16-special-elements/01-self/text.md
new file mode 100644
index 0000000000..773dded83e
--- /dev/null
+++ b/site/content/tutorial/16-special-elements/01-self/text.md
@@ -0,0 +1,25 @@
+---
+title:
+---
+
+Svelte provides a variety of built-in elements. The first, ``, allows a component to contain itself recursively.
+
+It's useful for things like this folder tree view, where folders can contain *other* folders. In `Folder.svelte` we want to be able to do this...
+
+```html
+{#if file.type === 'folder'}
+
+{:else}
+
+{/if}
+```
+
+...but that's impossible, because a file can't import itself. Instead, we use ``:
+
+```html
+{#if file.type === 'folder'}
+
+{:else}
+
+{/if}
+```
\ No newline at end of file
diff --git a/site/content/tutorial/16-special-elements/meta.json b/site/content/tutorial/16-special-elements/meta.json
new file mode 100644
index 0000000000..2718c14b59
--- /dev/null
+++ b/site/content/tutorial/16-special-elements/meta.json
@@ -0,0 +1,3 @@
+{
+ "title": "Special elements"
+}
\ No newline at end of file
diff --git a/site/content/tutorial/99-todo/99-todo/text.md b/site/content/tutorial/99-todo/99-todo/text.md
index 683b4fa15b..ce1eef5fe5 100644
--- a/site/content/tutorial/99-todo/99-todo/text.md
+++ b/site/content/tutorial/99-todo/99-todo/text.md
@@ -52,8 +52,7 @@ Another one should cover how to set up an editor for syntax highlighting.
* [x] `export let foo`
* [x] `export let foo = 1`
-
-
+* [ ] spread props
* [ ] `export function foo(){...}`
@@ -140,7 +139,7 @@ Maybe lifecycle should go first, since we're using `onMount` in the `this` demo?
## Context
-* [ ] `setContext` and `getContext`
+* [x] `setContext` and `getContext`
## Special elements
diff --git a/site/static/tutorial/icons/folder-open.svg b/site/static/tutorial/icons/folder-open.svg
new file mode 100644
index 0000000000..9dac0ef9e9
--- /dev/null
+++ b/site/static/tutorial/icons/folder-open.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/site/static/tutorial/icons/folder.svg b/site/static/tutorial/icons/folder.svg
new file mode 100644
index 0000000000..7d4a03f1d2
--- /dev/null
+++ b/site/static/tutorial/icons/folder.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/site/static/tutorial/icons/gif.svg b/site/static/tutorial/icons/gif.svg
new file mode 100644
index 0000000000..315860a247
--- /dev/null
+++ b/site/static/tutorial/icons/gif.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/site/static/tutorial/icons/md.svg b/site/static/tutorial/icons/md.svg
new file mode 100644
index 0000000000..60bc36f4a7
--- /dev/null
+++ b/site/static/tutorial/icons/md.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/site/static/tutorial/icons/xlsx.svg b/site/static/tutorial/icons/xlsx.svg
new file mode 100644
index 0000000000..6ee32e943d
--- /dev/null
+++ b/site/static/tutorial/icons/xlsx.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file