diff --git a/1-js/05-data-types/05-array-methods/8-sort-objects/solution.md b/1-js/05-data-types/05-array-methods/8-sort-objects/solution.md
index f5684a6d5..9f1ade707 100644
--- a/1-js/05-data-types/05-array-methods/8-sort-objects/solution.md
+++ b/1-js/05-data-types/05-array-methods/8-sort-objects/solution.md
@@ -1,5 +1,5 @@
```js run no-beautify
-function sortByName(arr) {
+function sortByAge(arr) {
arr.sort((a, b) => a.age > b.age ? 1 : -1);
}
@@ -7,11 +7,12 @@ let john = { name: "John", age: 25 };
let pete = { name: "Pete", age: 30 };
let mary = { name: "Mary", age: 28 };
-let arr = [ john, pete, mary ];
+let arr = [ pete, john, mary ];
-sortByName(arr);
+sortByAge(arr);
// now sorted is: [john, mary, pete]
alert(arr[0].name); // John
+alert(arr[1].name); // Mary
alert(arr[2].name); // Pete
```
diff --git a/1-js/05-data-types/05-array-methods/8-sort-objects/task.md b/1-js/05-data-types/05-array-methods/8-sort-objects/task.md
index fae6bcbe9..9a215c9f4 100644
--- a/1-js/05-data-types/05-array-methods/8-sort-objects/task.md
+++ b/1-js/05-data-types/05-array-methods/8-sort-objects/task.md
@@ -2,9 +2,9 @@ importance: 5
---
-# Sort objects
+# Sort users by age
-Write the function `sortByName(users)` that gets an array of objects with the `age` property and sorts them by `age`.
+Write the function `sortByAge(users)` that gets an array of objects with the `age` property and sorts them by `age`.
For instance:
@@ -13,11 +13,12 @@ let john = { name: "John", age: 25 };
let pete = { name: "Pete", age: 30 };
let mary = { name: "Mary", age: 28 };
-let arr = [ john, pete, mary ];
+let arr = [ pete, john, mary ];
-sortByName(arr);
+sortByAge(arr);
// now: [john, mary, pete]
alert(arr[0].name); // John
+alert(arr[1].name); // Mary
alert(arr[2].name); // Pete
```
diff --git a/2-ui/99-misc/12-mutation-observer/article.md b/10-misc/12-mutation-observer/article.md
similarity index 100%
rename from 2-ui/99-misc/12-mutation-observer/article.md
rename to 10-misc/12-mutation-observer/article.md
diff --git a/2-ui/99-misc/index.md b/10-misc/index.md
similarity index 100%
rename from 2-ui/99-misc/index.md
rename to 10-misc/index.md
diff --git a/2-ui/1-document/07-modifying-document/article.md b/2-ui/1-document/07-modifying-document/article.md
index 22907554f..16aacb456 100644
--- a/2-ui/1-document/07-modifying-document/article.md
+++ b/2-ui/1-document/07-modifying-document/article.md
@@ -136,7 +136,7 @@ Here's a brief list of methods to insert a node into a parent element (`parentEl
```
To insert `newLi` as the first element, we can do it like this:
-
+
```js
list.insertBefore(newLi, list.firstChild);
```
@@ -335,6 +335,74 @@ An example of copying the message:
```
+
+## DocumentFragment [#document-fragment]
+
+`DocumentFragment` is a special DOM node that serves as a wrapper to pass around groups of nodes.
+
+We can append other nodes to it, but when we insert it somewhere, then it "disappears", leaving its content inserted instead.
+
+For example, `getListContent` below generates a fragment with `
` items, that are later inserted into `
`:
+
+```html run
+
+
+
+```
+
+Please note, at the last line `(*)` we append `DocumentFragment`, but it "blends in", so the resulting structure will be:
+
+```html
+
+
1
+
2
+
3
+
+```
+
+`DocumentFragment` is rarely used explicitly. Why append to a special kind of node, if we can return an array of nodes instead? Rewritten example:
+
+```html run
+
+
+
+```
+
+We mention `DocumentFragment` mainly because there are some concepts on top of it, like [template](info:template-element) element, that we'll cover much later.
+
+
## Removal methods
To remove nodes, there are the following methods:
diff --git a/2-ui/10-loading/01-onload-ondomcontentloaded/article.md b/2-ui/5-loading/01-onload-ondomcontentloaded/article.md
similarity index 100%
rename from 2-ui/10-loading/01-onload-ondomcontentloaded/article.md
rename to 2-ui/5-loading/01-onload-ondomcontentloaded/article.md
diff --git a/2-ui/10-loading/01-onload-ondomcontentloaded/readystate.view/iframe.html b/2-ui/5-loading/01-onload-ondomcontentloaded/readystate.view/iframe.html
similarity index 100%
rename from 2-ui/10-loading/01-onload-ondomcontentloaded/readystate.view/iframe.html
rename to 2-ui/5-loading/01-onload-ondomcontentloaded/readystate.view/iframe.html
diff --git a/2-ui/10-loading/01-onload-ondomcontentloaded/readystate.view/index.html b/2-ui/5-loading/01-onload-ondomcontentloaded/readystate.view/index.html
similarity index 100%
rename from 2-ui/10-loading/01-onload-ondomcontentloaded/readystate.view/index.html
rename to 2-ui/5-loading/01-onload-ondomcontentloaded/readystate.view/index.html
diff --git a/2-ui/10-loading/01-onload-ondomcontentloaded/window-onbeforeunload.view/index.html b/2-ui/5-loading/01-onload-ondomcontentloaded/window-onbeforeunload.view/index.html
similarity index 100%
rename from 2-ui/10-loading/01-onload-ondomcontentloaded/window-onbeforeunload.view/index.html
rename to 2-ui/5-loading/01-onload-ondomcontentloaded/window-onbeforeunload.view/index.html
diff --git a/2-ui/10-loading/02-script-async-defer/article.md b/2-ui/5-loading/02-script-async-defer/article.md
similarity index 100%
rename from 2-ui/10-loading/02-script-async-defer/article.md
rename to 2-ui/5-loading/02-script-async-defer/article.md
diff --git a/2-ui/10-loading/02-script-async-defer/long.js b/2-ui/5-loading/02-script-async-defer/long.js
similarity index 100%
rename from 2-ui/10-loading/02-script-async-defer/long.js
rename to 2-ui/5-loading/02-script-async-defer/long.js
diff --git a/2-ui/10-loading/02-script-async-defer/small.js b/2-ui/5-loading/02-script-async-defer/small.js
similarity index 100%
rename from 2-ui/10-loading/02-script-async-defer/small.js
rename to 2-ui/5-loading/02-script-async-defer/small.js
diff --git a/2-ui/10-loading/02-script-async-defer/window-onbeforeunload.view/index.html b/2-ui/5-loading/02-script-async-defer/window-onbeforeunload.view/index.html
similarity index 100%
rename from 2-ui/10-loading/02-script-async-defer/window-onbeforeunload.view/index.html
rename to 2-ui/5-loading/02-script-async-defer/window-onbeforeunload.view/index.html
diff --git a/2-ui/10-loading/03-onload-onerror/1-load-img-callback/solution.md b/2-ui/5-loading/03-onload-onerror/1-load-img-callback/solution.md
similarity index 100%
rename from 2-ui/10-loading/03-onload-onerror/1-load-img-callback/solution.md
rename to 2-ui/5-loading/03-onload-onerror/1-load-img-callback/solution.md
diff --git a/2-ui/10-loading/03-onload-onerror/1-load-img-callback/solution.view/index.html b/2-ui/5-loading/03-onload-onerror/1-load-img-callback/solution.view/index.html
similarity index 100%
rename from 2-ui/10-loading/03-onload-onerror/1-load-img-callback/solution.view/index.html
rename to 2-ui/5-loading/03-onload-onerror/1-load-img-callback/solution.view/index.html
diff --git a/2-ui/10-loading/03-onload-onerror/1-load-img-callback/source.view/index.html b/2-ui/5-loading/03-onload-onerror/1-load-img-callback/source.view/index.html
similarity index 100%
rename from 2-ui/10-loading/03-onload-onerror/1-load-img-callback/source.view/index.html
rename to 2-ui/5-loading/03-onload-onerror/1-load-img-callback/source.view/index.html
diff --git a/2-ui/10-loading/03-onload-onerror/1-load-img-callback/task.md b/2-ui/5-loading/03-onload-onerror/1-load-img-callback/task.md
similarity index 100%
rename from 2-ui/10-loading/03-onload-onerror/1-load-img-callback/task.md
rename to 2-ui/5-loading/03-onload-onerror/1-load-img-callback/task.md
diff --git a/2-ui/10-loading/03-onload-onerror/article.md b/2-ui/5-loading/03-onload-onerror/article.md
similarity index 100%
rename from 2-ui/10-loading/03-onload-onerror/article.md
rename to 2-ui/5-loading/03-onload-onerror/article.md
diff --git a/2-ui/10-loading/03-onload-onerror/crossorigin.view/error.js b/2-ui/5-loading/03-onload-onerror/crossorigin.view/error.js
similarity index 100%
rename from 2-ui/10-loading/03-onload-onerror/crossorigin.view/error.js
rename to 2-ui/5-loading/03-onload-onerror/crossorigin.view/error.js
diff --git a/2-ui/10-loading/index.md b/2-ui/5-loading/index.md
similarity index 100%
rename from 2-ui/10-loading/index.md
rename to 2-ui/5-loading/index.md
diff --git a/4-frames-and-windows/01-popup-windows/article.md b/3-frames-and-windows/01-popup-windows/article.md
similarity index 100%
rename from 4-frames-and-windows/01-popup-windows/article.md
rename to 3-frames-and-windows/01-popup-windows/article.md
diff --git a/4-frames-and-windows/03-cross-window-communication/article.md b/3-frames-and-windows/03-cross-window-communication/article.md
similarity index 100%
rename from 4-frames-and-windows/03-cross-window-communication/article.md
rename to 3-frames-and-windows/03-cross-window-communication/article.md
diff --git a/4-frames-and-windows/03-cross-window-communication/postmessage.view/iframe.html b/3-frames-and-windows/03-cross-window-communication/postmessage.view/iframe.html
similarity index 100%
rename from 4-frames-and-windows/03-cross-window-communication/postmessage.view/iframe.html
rename to 3-frames-and-windows/03-cross-window-communication/postmessage.view/iframe.html
diff --git a/4-frames-and-windows/03-cross-window-communication/postmessage.view/index.html b/3-frames-and-windows/03-cross-window-communication/postmessage.view/index.html
similarity index 100%
rename from 4-frames-and-windows/03-cross-window-communication/postmessage.view/index.html
rename to 3-frames-and-windows/03-cross-window-communication/postmessage.view/index.html
diff --git a/4-frames-and-windows/03-cross-window-communication/sandbox.view/index.html b/3-frames-and-windows/03-cross-window-communication/sandbox.view/index.html
similarity index 100%
rename from 4-frames-and-windows/03-cross-window-communication/sandbox.view/index.html
rename to 3-frames-and-windows/03-cross-window-communication/sandbox.view/index.html
diff --git a/4-frames-and-windows/03-cross-window-communication/sandbox.view/sandboxed.html b/3-frames-and-windows/03-cross-window-communication/sandbox.view/sandboxed.html
similarity index 100%
rename from 4-frames-and-windows/03-cross-window-communication/sandbox.view/sandboxed.html
rename to 3-frames-and-windows/03-cross-window-communication/sandbox.view/sandboxed.html
diff --git a/4-frames-and-windows/06-clickjacking/article.md b/3-frames-and-windows/06-clickjacking/article.md
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/article.md
rename to 3-frames-and-windows/06-clickjacking/article.md
diff --git a/4-frames-and-windows/06-clickjacking/clickjacking-visible.view/facebook.html b/3-frames-and-windows/06-clickjacking/clickjacking-visible.view/facebook.html
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/clickjacking-visible.view/facebook.html
rename to 3-frames-and-windows/06-clickjacking/clickjacking-visible.view/facebook.html
diff --git a/4-frames-and-windows/06-clickjacking/clickjacking-visible.view/index.html b/3-frames-and-windows/06-clickjacking/clickjacking-visible.view/index.html
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/clickjacking-visible.view/index.html
rename to 3-frames-and-windows/06-clickjacking/clickjacking-visible.view/index.html
diff --git a/4-frames-and-windows/06-clickjacking/clickjacking.view/facebook.html b/3-frames-and-windows/06-clickjacking/clickjacking.view/facebook.html
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/clickjacking.view/facebook.html
rename to 3-frames-and-windows/06-clickjacking/clickjacking.view/facebook.html
diff --git a/4-frames-and-windows/06-clickjacking/clickjacking.view/index.html b/3-frames-and-windows/06-clickjacking/clickjacking.view/index.html
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/clickjacking.view/index.html
rename to 3-frames-and-windows/06-clickjacking/clickjacking.view/index.html
diff --git a/4-frames-and-windows/06-clickjacking/protector.view/iframe.html b/3-frames-and-windows/06-clickjacking/protector.view/iframe.html
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/protector.view/iframe.html
rename to 3-frames-and-windows/06-clickjacking/protector.view/iframe.html
diff --git a/4-frames-and-windows/06-clickjacking/protector.view/index.html b/3-frames-and-windows/06-clickjacking/protector.view/index.html
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/protector.view/index.html
rename to 3-frames-and-windows/06-clickjacking/protector.view/index.html
diff --git a/4-frames-and-windows/06-clickjacking/top-location.view/iframe.html b/3-frames-and-windows/06-clickjacking/top-location.view/iframe.html
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/top-location.view/iframe.html
rename to 3-frames-and-windows/06-clickjacking/top-location.view/iframe.html
diff --git a/4-frames-and-windows/06-clickjacking/top-location.view/index.html b/3-frames-and-windows/06-clickjacking/top-location.view/index.html
similarity index 100%
rename from 4-frames-and-windows/06-clickjacking/top-location.view/index.html
rename to 3-frames-and-windows/06-clickjacking/top-location.view/index.html
diff --git a/4-frames-and-windows/index.md b/3-frames-and-windows/index.md
similarity index 100%
rename from 4-frames-and-windows/index.md
rename to 3-frames-and-windows/index.md
diff --git a/6-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/solution.js b/4-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/solution.js
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/solution.js
rename to 4-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/solution.js
diff --git a/6-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/source.js b/4-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/source.js
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/source.js
rename to 4-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/source.js
diff --git a/6-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/test.js b/4-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/test.js
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/test.js
rename to 4-binary/01-arraybuffer-binary-arrays/01-concat/_js.view/test.js
diff --git a/3-animation/2-css-animations/3-animate-circle/solution.md b/4-binary/01-arraybuffer-binary-arrays/01-concat/solution.md
similarity index 100%
rename from 3-animation/2-css-animations/3-animate-circle/solution.md
rename to 4-binary/01-arraybuffer-binary-arrays/01-concat/solution.md
diff --git a/6-binary/01-arraybuffer-binary-arrays/01-concat/task.md b/4-binary/01-arraybuffer-binary-arrays/01-concat/task.md
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/01-concat/task.md
rename to 4-binary/01-arraybuffer-binary-arrays/01-concat/task.md
diff --git a/6-binary/01-arraybuffer-binary-arrays/8bit-integer-256.png b/4-binary/01-arraybuffer-binary-arrays/8bit-integer-256.png
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/8bit-integer-256.png
rename to 4-binary/01-arraybuffer-binary-arrays/8bit-integer-256.png
diff --git a/6-binary/01-arraybuffer-binary-arrays/8bit-integer-256@2x.png b/4-binary/01-arraybuffer-binary-arrays/8bit-integer-256@2x.png
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/8bit-integer-256@2x.png
rename to 4-binary/01-arraybuffer-binary-arrays/8bit-integer-256@2x.png
diff --git a/6-binary/01-arraybuffer-binary-arrays/8bit-integer-257.png b/4-binary/01-arraybuffer-binary-arrays/8bit-integer-257.png
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/8bit-integer-257.png
rename to 4-binary/01-arraybuffer-binary-arrays/8bit-integer-257.png
diff --git a/6-binary/01-arraybuffer-binary-arrays/8bit-integer-257@2x.png b/4-binary/01-arraybuffer-binary-arrays/8bit-integer-257@2x.png
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/8bit-integer-257@2x.png
rename to 4-binary/01-arraybuffer-binary-arrays/8bit-integer-257@2x.png
diff --git a/6-binary/01-arraybuffer-binary-arrays/arraybuffer-view-buffersource.png b/4-binary/01-arraybuffer-binary-arrays/arraybuffer-view-buffersource.png
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/arraybuffer-view-buffersource.png
rename to 4-binary/01-arraybuffer-binary-arrays/arraybuffer-view-buffersource.png
diff --git a/6-binary/01-arraybuffer-binary-arrays/arraybuffer-view-buffersource@2x.png b/4-binary/01-arraybuffer-binary-arrays/arraybuffer-view-buffersource@2x.png
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/arraybuffer-view-buffersource@2x.png
rename to 4-binary/01-arraybuffer-binary-arrays/arraybuffer-view-buffersource@2x.png
diff --git a/6-binary/01-arraybuffer-binary-arrays/arraybuffer-views.png b/4-binary/01-arraybuffer-binary-arrays/arraybuffer-views.png
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/arraybuffer-views.png
rename to 4-binary/01-arraybuffer-binary-arrays/arraybuffer-views.png
diff --git a/6-binary/01-arraybuffer-binary-arrays/arraybuffer-views@2x.png b/4-binary/01-arraybuffer-binary-arrays/arraybuffer-views@2x.png
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/arraybuffer-views@2x.png
rename to 4-binary/01-arraybuffer-binary-arrays/arraybuffer-views@2x.png
diff --git a/6-binary/01-arraybuffer-binary-arrays/article.md b/4-binary/01-arraybuffer-binary-arrays/article.md
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/article.md
rename to 4-binary/01-arraybuffer-binary-arrays/article.md
diff --git a/6-binary/02-text-decoder/article.md b/4-binary/02-text-decoder/article.md
similarity index 100%
rename from 6-binary/02-text-decoder/article.md
rename to 4-binary/02-text-decoder/article.md
diff --git a/6-binary/03-blob/article.md b/4-binary/03-blob/article.md
similarity index 100%
rename from 6-binary/03-blob/article.md
rename to 4-binary/03-blob/article.md
diff --git a/6-binary/03-blob/blob.png b/4-binary/03-blob/blob.png
similarity index 100%
rename from 6-binary/03-blob/blob.png
rename to 4-binary/03-blob/blob.png
diff --git a/6-binary/03-blob/blob@2x.png b/4-binary/03-blob/blob@2x.png
similarity index 100%
rename from 6-binary/03-blob/blob@2x.png
rename to 4-binary/03-blob/blob@2x.png
diff --git a/6-binary/04-file/article.md b/4-binary/04-file/article.md
similarity index 100%
rename from 6-binary/04-file/article.md
rename to 4-binary/04-file/article.md
diff --git a/6-binary/index.md b/4-binary/index.md
similarity index 100%
rename from 6-binary/index.md
rename to 4-binary/index.md
diff --git a/7-network/01-fetch-basics/article.md b/5-network/01-fetch-basics/article.md
similarity index 100%
rename from 7-network/01-fetch-basics/article.md
rename to 5-network/01-fetch-basics/article.md
diff --git a/7-network/01-fetch-basics/logo-fetch.svg b/5-network/01-fetch-basics/logo-fetch.svg
similarity index 100%
rename from 7-network/01-fetch-basics/logo-fetch.svg
rename to 5-network/01-fetch-basics/logo-fetch.svg
diff --git a/7-network/01-fetch-basics/post.view/server.js b/5-network/01-fetch-basics/post.view/server.js
similarity index 100%
rename from 7-network/01-fetch-basics/post.view/server.js
rename to 5-network/01-fetch-basics/post.view/server.js
diff --git a/7-network/02-fetch-progress/article.md b/5-network/02-fetch-progress/article.md
similarity index 100%
rename from 7-network/02-fetch-progress/article.md
rename to 5-network/02-fetch-progress/article.md
diff --git a/7-network/02-fetch-progress/logo-fetch.svg b/5-network/02-fetch-progress/logo-fetch.svg
similarity index 100%
rename from 7-network/02-fetch-progress/logo-fetch.svg
rename to 5-network/02-fetch-progress/logo-fetch.svg
diff --git a/7-network/02-fetch-progress/progress.view/index.html b/5-network/02-fetch-progress/progress.view/index.html
similarity index 100%
rename from 7-network/02-fetch-progress/progress.view/index.html
rename to 5-network/02-fetch-progress/progress.view/index.html
diff --git a/7-network/02-fetch-progress/progress.view/long.txt b/5-network/02-fetch-progress/progress.view/long.txt
similarity index 100%
rename from 7-network/02-fetch-progress/progress.view/long.txt
rename to 5-network/02-fetch-progress/progress.view/long.txt
diff --git a/7-network/03-fetch-abort/article.md b/5-network/03-fetch-abort/article.md
similarity index 100%
rename from 7-network/03-fetch-abort/article.md
rename to 5-network/03-fetch-abort/article.md
diff --git a/7-network/03-fetch-abort/demo.view/server.js b/5-network/03-fetch-abort/demo.view/server.js
similarity index 100%
rename from 7-network/03-fetch-abort/demo.view/server.js
rename to 5-network/03-fetch-abort/demo.view/server.js
diff --git a/7-network/04-fetch-crossorigin/1-do-we-need-origin/solution.md b/5-network/04-fetch-crossorigin/1-do-we-need-origin/solution.md
similarity index 100%
rename from 7-network/04-fetch-crossorigin/1-do-we-need-origin/solution.md
rename to 5-network/04-fetch-crossorigin/1-do-we-need-origin/solution.md
diff --git a/7-network/04-fetch-crossorigin/1-do-we-need-origin/task.md b/5-network/04-fetch-crossorigin/1-do-we-need-origin/task.md
similarity index 100%
rename from 7-network/04-fetch-crossorigin/1-do-we-need-origin/task.md
rename to 5-network/04-fetch-crossorigin/1-do-we-need-origin/task.md
diff --git a/7-network/04-fetch-crossorigin/article.md b/5-network/04-fetch-crossorigin/article.md
similarity index 100%
rename from 7-network/04-fetch-crossorigin/article.md
rename to 5-network/04-fetch-crossorigin/article.md
diff --git a/7-network/04-fetch-crossorigin/cors-gmail-messages.png b/5-network/04-fetch-crossorigin/cors-gmail-messages.png
similarity index 100%
rename from 7-network/04-fetch-crossorigin/cors-gmail-messages.png
rename to 5-network/04-fetch-crossorigin/cors-gmail-messages.png
diff --git a/7-network/04-fetch-crossorigin/cors-gmail-messages@2x.png b/5-network/04-fetch-crossorigin/cors-gmail-messages@2x.png
similarity index 100%
rename from 7-network/04-fetch-crossorigin/cors-gmail-messages@2x.png
rename to 5-network/04-fetch-crossorigin/cors-gmail-messages@2x.png
diff --git a/7-network/04-fetch-crossorigin/demo.view/index.html b/5-network/04-fetch-crossorigin/demo.view/index.html
similarity index 100%
rename from 7-network/04-fetch-crossorigin/demo.view/index.html
rename to 5-network/04-fetch-crossorigin/demo.view/index.html
diff --git a/7-network/04-fetch-crossorigin/demo.view/server.js b/5-network/04-fetch-crossorigin/demo.view/server.js
similarity index 100%
rename from 7-network/04-fetch-crossorigin/demo.view/server.js
rename to 5-network/04-fetch-crossorigin/demo.view/server.js
diff --git a/7-network/04-fetch-crossorigin/xhr-another-domain.png b/5-network/04-fetch-crossorigin/xhr-another-domain.png
similarity index 100%
rename from 7-network/04-fetch-crossorigin/xhr-another-domain.png
rename to 5-network/04-fetch-crossorigin/xhr-another-domain.png
diff --git a/7-network/04-fetch-crossorigin/xhr-another-domain@2x.png b/5-network/04-fetch-crossorigin/xhr-another-domain@2x.png
similarity index 100%
rename from 7-network/04-fetch-crossorigin/xhr-another-domain@2x.png
rename to 5-network/04-fetch-crossorigin/xhr-another-domain@2x.png
diff --git a/7-network/04-fetch-crossorigin/xhr-preflight.png b/5-network/04-fetch-crossorigin/xhr-preflight.png
similarity index 100%
rename from 7-network/04-fetch-crossorigin/xhr-preflight.png
rename to 5-network/04-fetch-crossorigin/xhr-preflight.png
diff --git a/7-network/04-fetch-crossorigin/xhr-preflight@2x.png b/5-network/04-fetch-crossorigin/xhr-preflight@2x.png
similarity index 100%
rename from 7-network/04-fetch-crossorigin/xhr-preflight@2x.png
rename to 5-network/04-fetch-crossorigin/xhr-preflight@2x.png
diff --git a/7-network/05-fetch-api/article.md b/5-network/05-fetch-api/article.md
similarity index 100%
rename from 7-network/05-fetch-api/article.md
rename to 5-network/05-fetch-api/article.md
diff --git a/7-network/05-fetch-api/logo-fetch.svg b/5-network/05-fetch-api/logo-fetch.svg
similarity index 100%
rename from 7-network/05-fetch-api/logo-fetch.svg
rename to 5-network/05-fetch-api/logo-fetch.svg
diff --git a/7-network/05-fetch-api/post.view/index.html b/5-network/05-fetch-api/post.view/index.html
similarity index 100%
rename from 7-network/05-fetch-api/post.view/index.html
rename to 5-network/05-fetch-api/post.view/index.html
diff --git a/7-network/05-fetch-api/post.view/server.js b/5-network/05-fetch-api/post.view/server.js
similarity index 100%
rename from 7-network/05-fetch-api/post.view/server.js
rename to 5-network/05-fetch-api/post.view/server.js
diff --git a/7-network/06-url/article.md b/5-network/06-url/article.md
similarity index 100%
rename from 7-network/06-url/article.md
rename to 5-network/06-url/article.md
diff --git a/7-network/06-url/url-object.png b/5-network/06-url/url-object.png
similarity index 100%
rename from 7-network/06-url/url-object.png
rename to 5-network/06-url/url-object.png
diff --git a/7-network/06-url/url-object@2x.png b/5-network/06-url/url-object@2x.png
similarity index 100%
rename from 7-network/06-url/url-object@2x.png
rename to 5-network/06-url/url-object@2x.png
diff --git a/7-network/07-xmlhttprequest/article.md b/5-network/07-xmlhttprequest/article.md
similarity index 100%
rename from 7-network/07-xmlhttprequest/article.md
rename to 5-network/07-xmlhttprequest/article.md
diff --git a/7-network/07-xmlhttprequest/example.view/index.html b/5-network/07-xmlhttprequest/example.view/index.html
similarity index 100%
rename from 7-network/07-xmlhttprequest/example.view/index.html
rename to 5-network/07-xmlhttprequest/example.view/index.html
diff --git a/7-network/07-xmlhttprequest/example.view/server.js b/5-network/07-xmlhttprequest/example.view/server.js
similarity index 100%
rename from 7-network/07-xmlhttprequest/example.view/server.js
rename to 5-network/07-xmlhttprequest/example.view/server.js
diff --git a/7-network/07-xmlhttprequest/hello.txt b/5-network/07-xmlhttprequest/hello.txt
similarity index 100%
rename from 7-network/07-xmlhttprequest/hello.txt
rename to 5-network/07-xmlhttprequest/hello.txt
diff --git a/7-network/07-xmlhttprequest/phones-async.view/index.html b/5-network/07-xmlhttprequest/phones-async.view/index.html
similarity index 100%
rename from 7-network/07-xmlhttprequest/phones-async.view/index.html
rename to 5-network/07-xmlhttprequest/phones-async.view/index.html
diff --git a/7-network/07-xmlhttprequest/phones-async.view/phones.json b/5-network/07-xmlhttprequest/phones-async.view/phones.json
similarity index 100%
rename from 7-network/07-xmlhttprequest/phones-async.view/phones.json
rename to 5-network/07-xmlhttprequest/phones-async.view/phones.json
diff --git a/7-network/07-xmlhttprequest/phones-async.view/server.js b/5-network/07-xmlhttprequest/phones-async.view/server.js
similarity index 100%
rename from 7-network/07-xmlhttprequest/phones-async.view/server.js
rename to 5-network/07-xmlhttprequest/phones-async.view/server.js
diff --git a/7-network/07-xmlhttprequest/phones.json b/5-network/07-xmlhttprequest/phones.json
similarity index 100%
rename from 7-network/07-xmlhttprequest/phones.json
rename to 5-network/07-xmlhttprequest/phones.json
diff --git a/7-network/07-xmlhttprequest/phones.view/index.html b/5-network/07-xmlhttprequest/phones.view/index.html
similarity index 100%
rename from 7-network/07-xmlhttprequest/phones.view/index.html
rename to 5-network/07-xmlhttprequest/phones.view/index.html
diff --git a/7-network/07-xmlhttprequest/phones.view/phones.json b/5-network/07-xmlhttprequest/phones.view/phones.json
similarity index 100%
rename from 7-network/07-xmlhttprequest/phones.view/phones.json
rename to 5-network/07-xmlhttprequest/phones.view/phones.json
diff --git a/7-network/07-xmlhttprequest/phones.view/server.js b/5-network/07-xmlhttprequest/phones.view/server.js
similarity index 100%
rename from 7-network/07-xmlhttprequest/phones.view/server.js
rename to 5-network/07-xmlhttprequest/phones.view/server.js
diff --git a/7-network/07-xmlhttprequest/post.view/index.html b/5-network/07-xmlhttprequest/post.view/index.html
similarity index 100%
rename from 7-network/07-xmlhttprequest/post.view/index.html
rename to 5-network/07-xmlhttprequest/post.view/index.html
diff --git a/7-network/07-xmlhttprequest/post.view/server.js b/5-network/07-xmlhttprequest/post.view/server.js
similarity index 100%
rename from 7-network/07-xmlhttprequest/post.view/server.js
rename to 5-network/07-xmlhttprequest/post.view/server.js
diff --git a/7-network/08-websocket/article.md b/5-network/08-websocket/article.md
similarity index 100%
rename from 7-network/08-websocket/article.md
rename to 5-network/08-websocket/article.md
diff --git a/7-network/08-websocket/chat.view/index.html b/5-network/08-websocket/chat.view/index.html
similarity index 100%
rename from 7-network/08-websocket/chat.view/index.html
rename to 5-network/08-websocket/chat.view/index.html
diff --git a/7-network/08-websocket/chat.view/server.js b/5-network/08-websocket/chat.view/server.js
similarity index 100%
rename from 7-network/08-websocket/chat.view/server.js
rename to 5-network/08-websocket/chat.view/server.js
diff --git a/7-network/08-websocket/demo.view/server.js b/5-network/08-websocket/demo.view/server.js
similarity index 100%
rename from 7-network/08-websocket/demo.view/server.js
rename to 5-network/08-websocket/demo.view/server.js
diff --git a/7-network/08-websocket/websocket-handshake.png b/5-network/08-websocket/websocket-handshake.png
similarity index 100%
rename from 7-network/08-websocket/websocket-handshake.png
rename to 5-network/08-websocket/websocket-handshake.png
diff --git a/7-network/08-websocket/websocket-handshake@2x.png b/5-network/08-websocket/websocket-handshake@2x.png
similarity index 100%
rename from 7-network/08-websocket/websocket-handshake@2x.png
rename to 5-network/08-websocket/websocket-handshake@2x.png
diff --git a/5-network/index.md b/5-network/index.md
new file mode 100644
index 000000000..31f86f092
--- /dev/null
+++ b/5-network/index.md
@@ -0,0 +1,2 @@
+
+# Network requests
diff --git a/2-ui/20-data-storage/01-cookie/article.md b/6-data-storage/01-cookie/article.md
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/article.md
rename to 6-data-storage/01-cookie/article.md
diff --git a/2-ui/20-data-storage/01-cookie/cookie-third-party-2.png b/6-data-storage/01-cookie/cookie-third-party-2.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie-third-party-2.png
rename to 6-data-storage/01-cookie/cookie-third-party-2.png
diff --git a/2-ui/20-data-storage/01-cookie/cookie-third-party-2@2x.png b/6-data-storage/01-cookie/cookie-third-party-2@2x.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie-third-party-2@2x.png
rename to 6-data-storage/01-cookie/cookie-third-party-2@2x.png
diff --git a/2-ui/20-data-storage/01-cookie/cookie-third-party-3.png b/6-data-storage/01-cookie/cookie-third-party-3.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie-third-party-3.png
rename to 6-data-storage/01-cookie/cookie-third-party-3.png
diff --git a/2-ui/20-data-storage/01-cookie/cookie-third-party-3@2x.png b/6-data-storage/01-cookie/cookie-third-party-3@2x.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie-third-party-3@2x.png
rename to 6-data-storage/01-cookie/cookie-third-party-3@2x.png
diff --git a/2-ui/20-data-storage/01-cookie/cookie-third-party.png b/6-data-storage/01-cookie/cookie-third-party.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie-third-party.png
rename to 6-data-storage/01-cookie/cookie-third-party.png
diff --git a/2-ui/20-data-storage/01-cookie/cookie-third-party@2x.png b/6-data-storage/01-cookie/cookie-third-party@2x.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie-third-party@2x.png
rename to 6-data-storage/01-cookie/cookie-third-party@2x.png
diff --git a/2-ui/20-data-storage/01-cookie/cookie-xsrf.png b/6-data-storage/01-cookie/cookie-xsrf.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie-xsrf.png
rename to 6-data-storage/01-cookie/cookie-xsrf.png
diff --git a/2-ui/20-data-storage/01-cookie/cookie-xsrf@2x.png b/6-data-storage/01-cookie/cookie-xsrf@2x.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie-xsrf@2x.png
rename to 6-data-storage/01-cookie/cookie-xsrf@2x.png
diff --git a/2-ui/20-data-storage/01-cookie/cookie.js b/6-data-storage/01-cookie/cookie.js
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/cookie.js
rename to 6-data-storage/01-cookie/cookie.js
diff --git a/2-ui/20-data-storage/01-cookie/safari-nocookie.png b/6-data-storage/01-cookie/safari-nocookie.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/safari-nocookie.png
rename to 6-data-storage/01-cookie/safari-nocookie.png
diff --git a/2-ui/20-data-storage/01-cookie/safari-nocookie@2x.png b/6-data-storage/01-cookie/safari-nocookie@2x.png
similarity index 100%
rename from 2-ui/20-data-storage/01-cookie/safari-nocookie@2x.png
rename to 6-data-storage/01-cookie/safari-nocookie@2x.png
diff --git a/2-ui/20-data-storage/02-localstorage/1-form-autosave/solution.md b/6-data-storage/02-localstorage/1-form-autosave/solution.md
similarity index 100%
rename from 2-ui/20-data-storage/02-localstorage/1-form-autosave/solution.md
rename to 6-data-storage/02-localstorage/1-form-autosave/solution.md
diff --git a/2-ui/20-data-storage/02-localstorage/1-form-autosave/solution.view/index.html b/6-data-storage/02-localstorage/1-form-autosave/solution.view/index.html
similarity index 100%
rename from 2-ui/20-data-storage/02-localstorage/1-form-autosave/solution.view/index.html
rename to 6-data-storage/02-localstorage/1-form-autosave/solution.view/index.html
diff --git a/2-ui/20-data-storage/02-localstorage/1-form-autosave/source.view/index.html b/6-data-storage/02-localstorage/1-form-autosave/source.view/index.html
similarity index 100%
rename from 2-ui/20-data-storage/02-localstorage/1-form-autosave/source.view/index.html
rename to 6-data-storage/02-localstorage/1-form-autosave/source.view/index.html
diff --git a/2-ui/20-data-storage/02-localstorage/1-form-autosave/task.md b/6-data-storage/02-localstorage/1-form-autosave/task.md
similarity index 100%
rename from 2-ui/20-data-storage/02-localstorage/1-form-autosave/task.md
rename to 6-data-storage/02-localstorage/1-form-autosave/task.md
diff --git a/2-ui/20-data-storage/02-localstorage/article.md b/6-data-storage/02-localstorage/article.md
similarity index 100%
rename from 2-ui/20-data-storage/02-localstorage/article.md
rename to 6-data-storage/02-localstorage/article.md
diff --git a/2-ui/20-data-storage/02-localstorage/sessionstorage.view/iframe.html b/6-data-storage/02-localstorage/sessionstorage.view/iframe.html
similarity index 100%
rename from 2-ui/20-data-storage/02-localstorage/sessionstorage.view/iframe.html
rename to 6-data-storage/02-localstorage/sessionstorage.view/iframe.html
diff --git a/2-ui/20-data-storage/02-localstorage/sessionstorage.view/index.html b/6-data-storage/02-localstorage/sessionstorage.view/index.html
similarity index 100%
rename from 2-ui/20-data-storage/02-localstorage/sessionstorage.view/index.html
rename to 6-data-storage/02-localstorage/sessionstorage.view/index.html
diff --git a/2-ui/20-data-storage/03-indexeddb/article.md b/6-data-storage/03-indexeddb/article.md
similarity index 100%
rename from 2-ui/20-data-storage/03-indexeddb/article.md
rename to 6-data-storage/03-indexeddb/article.md
diff --git a/2-ui/20-data-storage/03-indexeddb/books.view/index.html b/6-data-storage/03-indexeddb/books.view/index.html
similarity index 100%
rename from 2-ui/20-data-storage/03-indexeddb/books.view/index.html
rename to 6-data-storage/03-indexeddb/books.view/index.html
diff --git a/2-ui/20-data-storage/03-indexeddb/indexeddb-cursor.png b/6-data-storage/03-indexeddb/indexeddb-cursor.png
similarity index 100%
rename from 2-ui/20-data-storage/03-indexeddb/indexeddb-cursor.png
rename to 6-data-storage/03-indexeddb/indexeddb-cursor.png
diff --git a/2-ui/20-data-storage/03-indexeddb/indexeddb-cursor@2x.png b/6-data-storage/03-indexeddb/indexeddb-cursor@2x.png
similarity index 100%
rename from 2-ui/20-data-storage/03-indexeddb/indexeddb-cursor@2x.png
rename to 6-data-storage/03-indexeddb/indexeddb-cursor@2x.png
diff --git a/2-ui/20-data-storage/03-indexeddb/indexeddb-index.png b/6-data-storage/03-indexeddb/indexeddb-index.png
similarity index 100%
rename from 2-ui/20-data-storage/03-indexeddb/indexeddb-index.png
rename to 6-data-storage/03-indexeddb/indexeddb-index.png
diff --git a/2-ui/20-data-storage/03-indexeddb/indexeddb-index@2x.png b/6-data-storage/03-indexeddb/indexeddb-index@2x.png
similarity index 100%
rename from 2-ui/20-data-storage/03-indexeddb/indexeddb-index@2x.png
rename to 6-data-storage/03-indexeddb/indexeddb-index@2x.png
diff --git a/2-ui/20-data-storage/03-indexeddb/indexeddb-structure.png b/6-data-storage/03-indexeddb/indexeddb-structure.png
similarity index 100%
rename from 2-ui/20-data-storage/03-indexeddb/indexeddb-structure.png
rename to 6-data-storage/03-indexeddb/indexeddb-structure.png
diff --git a/2-ui/20-data-storage/03-indexeddb/indexeddb-structure@2x.png b/6-data-storage/03-indexeddb/indexeddb-structure@2x.png
similarity index 100%
rename from 2-ui/20-data-storage/03-indexeddb/indexeddb-structure@2x.png
rename to 6-data-storage/03-indexeddb/indexeddb-structure@2x.png
diff --git a/2-ui/20-data-storage/index.md b/6-data-storage/index.md
similarity index 100%
rename from 2-ui/20-data-storage/index.md
rename to 6-data-storage/index.md
diff --git a/3-animation/1-bezier-curve/article.md b/7-animation/1-bezier-curve/article.md
similarity index 100%
rename from 3-animation/1-bezier-curve/article.md
rename to 7-animation/1-bezier-curve/article.md
diff --git a/3-animation/1-bezier-curve/bezier-car.png b/7-animation/1-bezier-curve/bezier-car.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier-car.png
rename to 7-animation/1-bezier-curve/bezier-car.png
diff --git a/3-animation/1-bezier-curve/bezier-car@2x.png b/7-animation/1-bezier-curve/bezier-car@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier-car@2x.png
rename to 7-animation/1-bezier-curve/bezier-car@2x.png
diff --git a/3-animation/1-bezier-curve/bezier-letter.png b/7-animation/1-bezier-curve/bezier-letter.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier-letter.png
rename to 7-animation/1-bezier-curve/bezier-letter.png
diff --git a/3-animation/1-bezier-curve/bezier-letter@2x.png b/7-animation/1-bezier-curve/bezier-letter@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier-letter@2x.png
rename to 7-animation/1-bezier-curve/bezier-letter@2x.png
diff --git a/3-animation/1-bezier-curve/bezier-vase.png b/7-animation/1-bezier-curve/bezier-vase.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier-vase.png
rename to 7-animation/1-bezier-curve/bezier-vase.png
diff --git a/3-animation/1-bezier-curve/bezier-vase@2x.png b/7-animation/1-bezier-curve/bezier-vase@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier-vase@2x.png
rename to 7-animation/1-bezier-curve/bezier-vase@2x.png
diff --git a/3-animation/1-bezier-curve/bezier2.png b/7-animation/1-bezier-curve/bezier2.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier2.png
rename to 7-animation/1-bezier-curve/bezier2.png
diff --git a/3-animation/1-bezier-curve/bezier2@2x.png b/7-animation/1-bezier-curve/bezier2@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier2@2x.png
rename to 7-animation/1-bezier-curve/bezier2@2x.png
diff --git a/3-animation/1-bezier-curve/bezier3-draw1.png b/7-animation/1-bezier-curve/bezier3-draw1.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier3-draw1.png
rename to 7-animation/1-bezier-curve/bezier3-draw1.png
diff --git a/3-animation/1-bezier-curve/bezier3-draw1@2x.png b/7-animation/1-bezier-curve/bezier3-draw1@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier3-draw1@2x.png
rename to 7-animation/1-bezier-curve/bezier3-draw1@2x.png
diff --git a/3-animation/1-bezier-curve/bezier3-draw2.png b/7-animation/1-bezier-curve/bezier3-draw2.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier3-draw2.png
rename to 7-animation/1-bezier-curve/bezier3-draw2.png
diff --git a/3-animation/1-bezier-curve/bezier3-draw2@2x.png b/7-animation/1-bezier-curve/bezier3-draw2@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier3-draw2@2x.png
rename to 7-animation/1-bezier-curve/bezier3-draw2@2x.png
diff --git a/3-animation/1-bezier-curve/bezier3-e.png b/7-animation/1-bezier-curve/bezier3-e.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier3-e.png
rename to 7-animation/1-bezier-curve/bezier3-e.png
diff --git a/3-animation/1-bezier-curve/bezier3-e@2x.png b/7-animation/1-bezier-curve/bezier3-e@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier3-e@2x.png
rename to 7-animation/1-bezier-curve/bezier3-e@2x.png
diff --git a/3-animation/1-bezier-curve/bezier3.png b/7-animation/1-bezier-curve/bezier3.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier3.png
rename to 7-animation/1-bezier-curve/bezier3.png
diff --git a/3-animation/1-bezier-curve/bezier3@2x.png b/7-animation/1-bezier-curve/bezier3@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier3@2x.png
rename to 7-animation/1-bezier-curve/bezier3@2x.png
diff --git a/3-animation/1-bezier-curve/bezier4-e.png b/7-animation/1-bezier-curve/bezier4-e.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier4-e.png
rename to 7-animation/1-bezier-curve/bezier4-e.png
diff --git a/3-animation/1-bezier-curve/bezier4-e@2x.png b/7-animation/1-bezier-curve/bezier4-e@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier4-e@2x.png
rename to 7-animation/1-bezier-curve/bezier4-e@2x.png
diff --git a/3-animation/1-bezier-curve/bezier4.png b/7-animation/1-bezier-curve/bezier4.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier4.png
rename to 7-animation/1-bezier-curve/bezier4.png
diff --git a/3-animation/1-bezier-curve/bezier4@2x.png b/7-animation/1-bezier-curve/bezier4@2x.png
similarity index 100%
rename from 3-animation/1-bezier-curve/bezier4@2x.png
rename to 7-animation/1-bezier-curve/bezier4@2x.png
diff --git a/3-animation/1-bezier-curve/demo.svg b/7-animation/1-bezier-curve/demo.svg
similarity index 100%
rename from 3-animation/1-bezier-curve/demo.svg
rename to 7-animation/1-bezier-curve/demo.svg
diff --git a/3-animation/1-bezier-curve/pause.png b/7-animation/1-bezier-curve/pause.png
similarity index 100%
rename from 3-animation/1-bezier-curve/pause.png
rename to 7-animation/1-bezier-curve/pause.png
diff --git a/3-animation/1-bezier-curve/play.png b/7-animation/1-bezier-curve/play.png
similarity index 100%
rename from 3-animation/1-bezier-curve/play.png
rename to 7-animation/1-bezier-curve/play.png
diff --git a/3-animation/2-css-animations/1-animate-logo-css/solution.md b/7-animation/2-css-animations/1-animate-logo-css/solution.md
similarity index 100%
rename from 3-animation/2-css-animations/1-animate-logo-css/solution.md
rename to 7-animation/2-css-animations/1-animate-logo-css/solution.md
diff --git a/3-animation/2-css-animations/1-animate-logo-css/solution.view/index.html b/7-animation/2-css-animations/1-animate-logo-css/solution.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/1-animate-logo-css/solution.view/index.html
rename to 7-animation/2-css-animations/1-animate-logo-css/solution.view/index.html
diff --git a/3-animation/2-css-animations/1-animate-logo-css/source.view/index.html b/7-animation/2-css-animations/1-animate-logo-css/source.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/1-animate-logo-css/source.view/index.html
rename to 7-animation/2-css-animations/1-animate-logo-css/source.view/index.html
diff --git a/3-animation/2-css-animations/1-animate-logo-css/task.md b/7-animation/2-css-animations/1-animate-logo-css/task.md
similarity index 100%
rename from 3-animation/2-css-animations/1-animate-logo-css/task.md
rename to 7-animation/2-css-animations/1-animate-logo-css/task.md
diff --git a/3-animation/2-css-animations/2-animate-logo-bezier-css/bezier-up.png b/7-animation/2-css-animations/2-animate-logo-bezier-css/bezier-up.png
similarity index 100%
rename from 3-animation/2-css-animations/2-animate-logo-bezier-css/bezier-up.png
rename to 7-animation/2-css-animations/2-animate-logo-bezier-css/bezier-up.png
diff --git a/3-animation/2-css-animations/2-animate-logo-bezier-css/bezier-up@2x.png b/7-animation/2-css-animations/2-animate-logo-bezier-css/bezier-up@2x.png
similarity index 100%
rename from 3-animation/2-css-animations/2-animate-logo-bezier-css/bezier-up@2x.png
rename to 7-animation/2-css-animations/2-animate-logo-bezier-css/bezier-up@2x.png
diff --git a/3-animation/2-css-animations/2-animate-logo-bezier-css/solution.md b/7-animation/2-css-animations/2-animate-logo-bezier-css/solution.md
similarity index 100%
rename from 3-animation/2-css-animations/2-animate-logo-bezier-css/solution.md
rename to 7-animation/2-css-animations/2-animate-logo-bezier-css/solution.md
diff --git a/3-animation/2-css-animations/2-animate-logo-bezier-css/solution.view/index.html b/7-animation/2-css-animations/2-animate-logo-bezier-css/solution.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/2-animate-logo-bezier-css/solution.view/index.html
rename to 7-animation/2-css-animations/2-animate-logo-bezier-css/solution.view/index.html
diff --git a/3-animation/2-css-animations/2-animate-logo-bezier-css/task.md b/7-animation/2-css-animations/2-animate-logo-bezier-css/task.md
similarity index 100%
rename from 3-animation/2-css-animations/2-animate-logo-bezier-css/task.md
rename to 7-animation/2-css-animations/2-animate-logo-bezier-css/task.md
diff --git a/6-binary/01-arraybuffer-binary-arrays/01-concat/solution.md b/7-animation/2-css-animations/3-animate-circle/solution.md
similarity index 100%
rename from 6-binary/01-arraybuffer-binary-arrays/01-concat/solution.md
rename to 7-animation/2-css-animations/3-animate-circle/solution.md
diff --git a/3-animation/2-css-animations/3-animate-circle/solution.view/index.html b/7-animation/2-css-animations/3-animate-circle/solution.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/3-animate-circle/solution.view/index.html
rename to 7-animation/2-css-animations/3-animate-circle/solution.view/index.html
diff --git a/3-animation/2-css-animations/3-animate-circle/source.view/index.html b/7-animation/2-css-animations/3-animate-circle/source.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/3-animate-circle/source.view/index.html
rename to 7-animation/2-css-animations/3-animate-circle/source.view/index.html
diff --git a/3-animation/2-css-animations/3-animate-circle/task.md b/7-animation/2-css-animations/3-animate-circle/task.md
similarity index 100%
rename from 3-animation/2-css-animations/3-animate-circle/task.md
rename to 7-animation/2-css-animations/3-animate-circle/task.md
diff --git a/3-animation/2-css-animations/article.md b/7-animation/2-css-animations/article.md
similarity index 100%
rename from 3-animation/2-css-animations/article.md
rename to 7-animation/2-css-animations/article.md
diff --git a/3-animation/2-css-animations/bezier-linear.png b/7-animation/2-css-animations/bezier-linear.png
similarity index 100%
rename from 3-animation/2-css-animations/bezier-linear.png
rename to 7-animation/2-css-animations/bezier-linear.png
diff --git a/3-animation/2-css-animations/bezier-linear@2x.png b/7-animation/2-css-animations/bezier-linear@2x.png
similarity index 100%
rename from 3-animation/2-css-animations/bezier-linear@2x.png
rename to 7-animation/2-css-animations/bezier-linear@2x.png
diff --git a/3-animation/2-css-animations/bezier-train-over.png b/7-animation/2-css-animations/bezier-train-over.png
similarity index 100%
rename from 3-animation/2-css-animations/bezier-train-over.png
rename to 7-animation/2-css-animations/bezier-train-over.png
diff --git a/3-animation/2-css-animations/bezier-train-over@2x.png b/7-animation/2-css-animations/bezier-train-over@2x.png
similarity index 100%
rename from 3-animation/2-css-animations/bezier-train-over@2x.png
rename to 7-animation/2-css-animations/bezier-train-over@2x.png
diff --git a/3-animation/2-css-animations/boat.view/index.html b/7-animation/2-css-animations/boat.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/boat.view/index.html
rename to 7-animation/2-css-animations/boat.view/index.html
diff --git a/3-animation/2-css-animations/boat.view/style.css b/7-animation/2-css-animations/boat.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/boat.view/style.css
rename to 7-animation/2-css-animations/boat.view/style.css
diff --git a/3-animation/2-css-animations/digits-negative-delay.view/index.html b/7-animation/2-css-animations/digits-negative-delay.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/digits-negative-delay.view/index.html
rename to 7-animation/2-css-animations/digits-negative-delay.view/index.html
diff --git a/3-animation/2-css-animations/digits-negative-delay.view/script.js b/7-animation/2-css-animations/digits-negative-delay.view/script.js
similarity index 100%
rename from 3-animation/2-css-animations/digits-negative-delay.view/script.js
rename to 7-animation/2-css-animations/digits-negative-delay.view/script.js
diff --git a/3-animation/2-css-animations/digits-negative-delay.view/style.css b/7-animation/2-css-animations/digits-negative-delay.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/digits-negative-delay.view/style.css
rename to 7-animation/2-css-animations/digits-negative-delay.view/style.css
diff --git a/3-animation/2-css-animations/digits.view/index.html b/7-animation/2-css-animations/digits.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/digits.view/index.html
rename to 7-animation/2-css-animations/digits.view/index.html
diff --git a/3-animation/2-css-animations/digits.view/script.js b/7-animation/2-css-animations/digits.view/script.js
similarity index 100%
rename from 3-animation/2-css-animations/digits.view/script.js
rename to 7-animation/2-css-animations/digits.view/script.js
diff --git a/3-animation/2-css-animations/digits.view/style.css b/7-animation/2-css-animations/digits.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/digits.view/style.css
rename to 7-animation/2-css-animations/digits.view/style.css
diff --git a/3-animation/2-css-animations/ease-in-out.png b/7-animation/2-css-animations/ease-in-out.png
similarity index 100%
rename from 3-animation/2-css-animations/ease-in-out.png
rename to 7-animation/2-css-animations/ease-in-out.png
diff --git a/3-animation/2-css-animations/ease-in-out@2x.png b/7-animation/2-css-animations/ease-in-out@2x.png
similarity index 100%
rename from 3-animation/2-css-animations/ease-in-out@2x.png
rename to 7-animation/2-css-animations/ease-in-out@2x.png
diff --git a/3-animation/2-css-animations/ease-in.png b/7-animation/2-css-animations/ease-in.png
similarity index 100%
rename from 3-animation/2-css-animations/ease-in.png
rename to 7-animation/2-css-animations/ease-in.png
diff --git a/3-animation/2-css-animations/ease-in@2x.png b/7-animation/2-css-animations/ease-in@2x.png
similarity index 100%
rename from 3-animation/2-css-animations/ease-in@2x.png
rename to 7-animation/2-css-animations/ease-in@2x.png
diff --git a/3-animation/2-css-animations/ease-out.png b/7-animation/2-css-animations/ease-out.png
similarity index 100%
rename from 3-animation/2-css-animations/ease-out.png
rename to 7-animation/2-css-animations/ease-out.png
diff --git a/3-animation/2-css-animations/ease-out@2x.png b/7-animation/2-css-animations/ease-out@2x.png
similarity index 100%
rename from 3-animation/2-css-animations/ease-out@2x.png
rename to 7-animation/2-css-animations/ease-out@2x.png
diff --git a/3-animation/2-css-animations/ease.png b/7-animation/2-css-animations/ease.png
similarity index 100%
rename from 3-animation/2-css-animations/ease.png
rename to 7-animation/2-css-animations/ease.png
diff --git a/3-animation/2-css-animations/ease@2x.png b/7-animation/2-css-animations/ease@2x.png
similarity index 100%
rename from 3-animation/2-css-animations/ease@2x.png
rename to 7-animation/2-css-animations/ease@2x.png
diff --git a/3-animation/2-css-animations/step-end.view/index.html b/7-animation/2-css-animations/step-end.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/step-end.view/index.html
rename to 7-animation/2-css-animations/step-end.view/index.html
diff --git a/3-animation/2-css-animations/step-end.view/style.css b/7-animation/2-css-animations/step-end.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/step-end.view/style.css
rename to 7-animation/2-css-animations/step-end.view/style.css
diff --git a/3-animation/2-css-animations/step-list.view/index.html b/7-animation/2-css-animations/step-list.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/step-list.view/index.html
rename to 7-animation/2-css-animations/step-list.view/index.html
diff --git a/3-animation/2-css-animations/step-list.view/style.css b/7-animation/2-css-animations/step-list.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/step-list.view/style.css
rename to 7-animation/2-css-animations/step-list.view/style.css
diff --git a/3-animation/2-css-animations/step.view/index.html b/7-animation/2-css-animations/step.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/step.view/index.html
rename to 7-animation/2-css-animations/step.view/index.html
diff --git a/3-animation/2-css-animations/step.view/style.css b/7-animation/2-css-animations/step.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/step.view/style.css
rename to 7-animation/2-css-animations/step.view/style.css
diff --git a/3-animation/2-css-animations/train-curve.png b/7-animation/2-css-animations/train-curve.png
similarity index 100%
rename from 3-animation/2-css-animations/train-curve.png
rename to 7-animation/2-css-animations/train-curve.png
diff --git a/3-animation/2-css-animations/train-curve@2x.png b/7-animation/2-css-animations/train-curve@2x.png
similarity index 100%
rename from 3-animation/2-css-animations/train-curve@2x.png
rename to 7-animation/2-css-animations/train-curve@2x.png
diff --git a/3-animation/2-css-animations/train-linear.view/index.html b/7-animation/2-css-animations/train-linear.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/train-linear.view/index.html
rename to 7-animation/2-css-animations/train-linear.view/index.html
diff --git a/3-animation/2-css-animations/train-linear.view/style.css b/7-animation/2-css-animations/train-linear.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/train-linear.view/style.css
rename to 7-animation/2-css-animations/train-linear.view/style.css
diff --git a/3-animation/2-css-animations/train-over.view/index.html b/7-animation/2-css-animations/train-over.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/train-over.view/index.html
rename to 7-animation/2-css-animations/train-over.view/index.html
diff --git a/3-animation/2-css-animations/train-over.view/style.css b/7-animation/2-css-animations/train-over.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/train-over.view/style.css
rename to 7-animation/2-css-animations/train-over.view/style.css
diff --git a/3-animation/2-css-animations/train.view/index.html b/7-animation/2-css-animations/train.view/index.html
similarity index 100%
rename from 3-animation/2-css-animations/train.view/index.html
rename to 7-animation/2-css-animations/train.view/index.html
diff --git a/3-animation/2-css-animations/train.view/style.css b/7-animation/2-css-animations/train.view/style.css
similarity index 100%
rename from 3-animation/2-css-animations/train.view/style.css
rename to 7-animation/2-css-animations/train.view/style.css
diff --git a/3-animation/3-js-animation/1-animate-ball/solution.md b/7-animation/3-js-animation/1-animate-ball/solution.md
similarity index 100%
rename from 3-animation/3-js-animation/1-animate-ball/solution.md
rename to 7-animation/3-js-animation/1-animate-ball/solution.md
diff --git a/3-animation/3-js-animation/1-animate-ball/solution.view/index.html b/7-animation/3-js-animation/1-animate-ball/solution.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/1-animate-ball/solution.view/index.html
rename to 7-animation/3-js-animation/1-animate-ball/solution.view/index.html
diff --git a/3-animation/3-js-animation/1-animate-ball/solution.view/style.css b/7-animation/3-js-animation/1-animate-ball/solution.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/1-animate-ball/solution.view/style.css
rename to 7-animation/3-js-animation/1-animate-ball/solution.view/style.css
diff --git a/3-animation/3-js-animation/1-animate-ball/source.view/index.html b/7-animation/3-js-animation/1-animate-ball/source.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/1-animate-ball/source.view/index.html
rename to 7-animation/3-js-animation/1-animate-ball/source.view/index.html
diff --git a/3-animation/3-js-animation/1-animate-ball/source.view/style.css b/7-animation/3-js-animation/1-animate-ball/source.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/1-animate-ball/source.view/style.css
rename to 7-animation/3-js-animation/1-animate-ball/source.view/style.css
diff --git a/3-animation/3-js-animation/1-animate-ball/task.md b/7-animation/3-js-animation/1-animate-ball/task.md
similarity index 100%
rename from 3-animation/3-js-animation/1-animate-ball/task.md
rename to 7-animation/3-js-animation/1-animate-ball/task.md
diff --git a/3-animation/3-js-animation/2-animate-ball-hops/solution.md b/7-animation/3-js-animation/2-animate-ball-hops/solution.md
similarity index 100%
rename from 3-animation/3-js-animation/2-animate-ball-hops/solution.md
rename to 7-animation/3-js-animation/2-animate-ball-hops/solution.md
diff --git a/3-animation/3-js-animation/2-animate-ball-hops/solution.view/index.html b/7-animation/3-js-animation/2-animate-ball-hops/solution.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/2-animate-ball-hops/solution.view/index.html
rename to 7-animation/3-js-animation/2-animate-ball-hops/solution.view/index.html
diff --git a/3-animation/3-js-animation/2-animate-ball-hops/solution.view/style.css b/7-animation/3-js-animation/2-animate-ball-hops/solution.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/2-animate-ball-hops/solution.view/style.css
rename to 7-animation/3-js-animation/2-animate-ball-hops/solution.view/style.css
diff --git a/3-animation/3-js-animation/2-animate-ball-hops/task.md b/7-animation/3-js-animation/2-animate-ball-hops/task.md
similarity index 100%
rename from 3-animation/3-js-animation/2-animate-ball-hops/task.md
rename to 7-animation/3-js-animation/2-animate-ball-hops/task.md
diff --git a/3-animation/3-js-animation/article.md b/7-animation/3-js-animation/article.md
similarity index 100%
rename from 3-animation/3-js-animation/article.md
rename to 7-animation/3-js-animation/article.md
diff --git a/3-animation/3-js-animation/back.png b/7-animation/3-js-animation/back.png
similarity index 100%
rename from 3-animation/3-js-animation/back.png
rename to 7-animation/3-js-animation/back.png
diff --git a/3-animation/3-js-animation/back.view/index.html b/7-animation/3-js-animation/back.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/back.view/index.html
rename to 7-animation/3-js-animation/back.view/index.html
diff --git a/3-animation/3-js-animation/back.view/style.css b/7-animation/3-js-animation/back.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/back.view/style.css
rename to 7-animation/3-js-animation/back.view/style.css
diff --git a/3-animation/3-js-animation/back@2x.png b/7-animation/3-js-animation/back@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/back@2x.png
rename to 7-animation/3-js-animation/back@2x.png
diff --git a/3-animation/3-js-animation/bezier-linear.png b/7-animation/3-js-animation/bezier-linear.png
similarity index 100%
rename from 3-animation/3-js-animation/bezier-linear.png
rename to 7-animation/3-js-animation/bezier-linear.png
diff --git a/3-animation/3-js-animation/bezier-linear@2x.png b/7-animation/3-js-animation/bezier-linear@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/bezier-linear@2x.png
rename to 7-animation/3-js-animation/bezier-linear@2x.png
diff --git a/3-animation/3-js-animation/bounce-easeinout.view/index.html b/7-animation/3-js-animation/bounce-easeinout.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/bounce-easeinout.view/index.html
rename to 7-animation/3-js-animation/bounce-easeinout.view/index.html
diff --git a/3-animation/3-js-animation/bounce-easeinout.view/style.css b/7-animation/3-js-animation/bounce-easeinout.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/bounce-easeinout.view/style.css
rename to 7-animation/3-js-animation/bounce-easeinout.view/style.css
diff --git a/3-animation/3-js-animation/bounce-easeout.view/index.html b/7-animation/3-js-animation/bounce-easeout.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/bounce-easeout.view/index.html
rename to 7-animation/3-js-animation/bounce-easeout.view/index.html
diff --git a/3-animation/3-js-animation/bounce-easeout.view/style.css b/7-animation/3-js-animation/bounce-easeout.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/bounce-easeout.view/style.css
rename to 7-animation/3-js-animation/bounce-easeout.view/style.css
diff --git a/3-animation/3-js-animation/bounce-inout.png b/7-animation/3-js-animation/bounce-inout.png
similarity index 100%
rename from 3-animation/3-js-animation/bounce-inout.png
rename to 7-animation/3-js-animation/bounce-inout.png
diff --git a/3-animation/3-js-animation/bounce-inout@2x.png b/7-animation/3-js-animation/bounce-inout@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/bounce-inout@2x.png
rename to 7-animation/3-js-animation/bounce-inout@2x.png
diff --git a/3-animation/3-js-animation/bounce.view/index.html b/7-animation/3-js-animation/bounce.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/bounce.view/index.html
rename to 7-animation/3-js-animation/bounce.view/index.html
diff --git a/3-animation/3-js-animation/bounce.view/style.css b/7-animation/3-js-animation/bounce.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/bounce.view/style.css
rename to 7-animation/3-js-animation/bounce.view/style.css
diff --git a/3-animation/3-js-animation/circ-ease.png b/7-animation/3-js-animation/circ-ease.png
similarity index 100%
rename from 3-animation/3-js-animation/circ-ease.png
rename to 7-animation/3-js-animation/circ-ease.png
diff --git a/3-animation/3-js-animation/circ-ease@2x.png b/7-animation/3-js-animation/circ-ease@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/circ-ease@2x.png
rename to 7-animation/3-js-animation/circ-ease@2x.png
diff --git a/3-animation/3-js-animation/circ.png b/7-animation/3-js-animation/circ.png
similarity index 100%
rename from 3-animation/3-js-animation/circ.png
rename to 7-animation/3-js-animation/circ.png
diff --git a/3-animation/3-js-animation/circ.view/index.html b/7-animation/3-js-animation/circ.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/circ.view/index.html
rename to 7-animation/3-js-animation/circ.view/index.html
diff --git a/3-animation/3-js-animation/circ.view/style.css b/7-animation/3-js-animation/circ.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/circ.view/style.css
rename to 7-animation/3-js-animation/circ.view/style.css
diff --git a/3-animation/3-js-animation/circ@2x.png b/7-animation/3-js-animation/circ@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/circ@2x.png
rename to 7-animation/3-js-animation/circ@2x.png
diff --git a/3-animation/3-js-animation/elastic.png b/7-animation/3-js-animation/elastic.png
similarity index 100%
rename from 3-animation/3-js-animation/elastic.png
rename to 7-animation/3-js-animation/elastic.png
diff --git a/3-animation/3-js-animation/elastic.view/index.html b/7-animation/3-js-animation/elastic.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/elastic.view/index.html
rename to 7-animation/3-js-animation/elastic.view/index.html
diff --git a/3-animation/3-js-animation/elastic.view/style.css b/7-animation/3-js-animation/elastic.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/elastic.view/style.css
rename to 7-animation/3-js-animation/elastic.view/style.css
diff --git a/3-animation/3-js-animation/elastic@2x.png b/7-animation/3-js-animation/elastic@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/elastic@2x.png
rename to 7-animation/3-js-animation/elastic@2x.png
diff --git a/3-animation/3-js-animation/linear.png b/7-animation/3-js-animation/linear.png
similarity index 100%
rename from 3-animation/3-js-animation/linear.png
rename to 7-animation/3-js-animation/linear.png
diff --git a/3-animation/3-js-animation/linear@2x.png b/7-animation/3-js-animation/linear@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/linear@2x.png
rename to 7-animation/3-js-animation/linear@2x.png
diff --git a/3-animation/3-js-animation/move-raf.view/index.html b/7-animation/3-js-animation/move-raf.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/move-raf.view/index.html
rename to 7-animation/3-js-animation/move-raf.view/index.html
diff --git a/3-animation/3-js-animation/move.view/index.html b/7-animation/3-js-animation/move.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/move.view/index.html
rename to 7-animation/3-js-animation/move.view/index.html
diff --git a/3-animation/3-js-animation/quad.png b/7-animation/3-js-animation/quad.png
similarity index 100%
rename from 3-animation/3-js-animation/quad.png
rename to 7-animation/3-js-animation/quad.png
diff --git a/3-animation/3-js-animation/quad.view/index.html b/7-animation/3-js-animation/quad.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/quad.view/index.html
rename to 7-animation/3-js-animation/quad.view/index.html
diff --git a/3-animation/3-js-animation/quad.view/style.css b/7-animation/3-js-animation/quad.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/quad.view/style.css
rename to 7-animation/3-js-animation/quad.view/style.css
diff --git a/3-animation/3-js-animation/quad@2x.png b/7-animation/3-js-animation/quad@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/quad@2x.png
rename to 7-animation/3-js-animation/quad@2x.png
diff --git a/3-animation/3-js-animation/quint.png b/7-animation/3-js-animation/quint.png
similarity index 100%
rename from 3-animation/3-js-animation/quint.png
rename to 7-animation/3-js-animation/quint.png
diff --git a/3-animation/3-js-animation/quint.view/index.html b/7-animation/3-js-animation/quint.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/quint.view/index.html
rename to 7-animation/3-js-animation/quint.view/index.html
diff --git a/3-animation/3-js-animation/quint.view/style.css b/7-animation/3-js-animation/quint.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/quint.view/style.css
rename to 7-animation/3-js-animation/quint.view/style.css
diff --git a/3-animation/3-js-animation/quint@2x.png b/7-animation/3-js-animation/quint@2x.png
similarity index 100%
rename from 3-animation/3-js-animation/quint@2x.png
rename to 7-animation/3-js-animation/quint@2x.png
diff --git a/3-animation/3-js-animation/text.view/index.html b/7-animation/3-js-animation/text.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/text.view/index.html
rename to 7-animation/3-js-animation/text.view/index.html
diff --git a/3-animation/3-js-animation/text.view/style.css b/7-animation/3-js-animation/text.view/style.css
similarity index 100%
rename from 3-animation/3-js-animation/text.view/style.css
rename to 7-animation/3-js-animation/text.view/style.css
diff --git a/3-animation/3-js-animation/width.view/animate.js b/7-animation/3-js-animation/width.view/animate.js
similarity index 100%
rename from 3-animation/3-js-animation/width.view/animate.js
rename to 7-animation/3-js-animation/width.view/animate.js
diff --git a/3-animation/3-js-animation/width.view/index.html b/7-animation/3-js-animation/width.view/index.html
similarity index 100%
rename from 3-animation/3-js-animation/width.view/index.html
rename to 7-animation/3-js-animation/width.view/index.html
diff --git a/3-animation/index.md b/7-animation/index.md
similarity index 100%
rename from 3-animation/index.md
rename to 7-animation/index.md
diff --git a/7-network/index.md b/7-network/index.md
deleted file mode 100644
index 1ee6a3e55..000000000
--- a/7-network/index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-development: true
-
----
-
-# Network requests: AJAX and COMET
diff --git a/8-web-components/1-webcomponents-intro/article.md b/8-web-components/1-webcomponents-intro/article.md
index 1a277d660..e3e175f49 100644
--- a/8-web-components/1-webcomponents-intro/article.md
+++ b/8-web-components/1-webcomponents-intro/article.md
@@ -70,5 +70,6 @@ There exist many frameworks and development methodologies to build them, each on
- [Custom elements](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements) -- to define custom HTML elements.
- [Shadow DOM](https://dom.spec.whatwg.org/#shadow-trees) -- to create an internal DOM for the component, hidden from the others.
- [CSS Scoping](https://drafts.csswg.org/css-scoping/) -- to declare styles that only apply inside the Shadow DOM of the component.
+- [Event retargeting](https://dom.spec.whatwg.org/#retarget) and other minor stuff to make custom components better fit the development.
In the next chapter we'll go into details of "Custom Elements" -- the fundamental and well-supported feature of web components, good on its own.
diff --git a/8-web-components/2-custom-elements/article.md b/8-web-components/2-custom-elements/article.md
index 278defd2e..85434c75a 100644
--- a/8-web-components/2-custom-elements/article.md
+++ b/8-web-components/2-custom-elements/article.md
@@ -361,11 +361,39 @@ customElements.define('hello-button', HelloButton, {extends: 'button'});
Our new button extends the built-in one. So it keeps the same styles and standard features like `disabled` attribute.
-## Итого
+## References
-Мы рассмотрели, как создавать свои DOM-элементы при помощи стандарта [Custom Elements](http://www.w3.org/TR/custom-elements/).
+- HTML Living Standard: .
+- Compatiblity: .
-POLYFILL
-Edge is a bit lagging behind, but there's a polyfill that covers
+## Summary
-Далее мы перейдём к изучению дополнительных возможностей по работе с DOM.
+Custom elements can be of two types:
+
+1. "Autonomous" -- new tags, extending `HTMLElement`.
+
+ Definition scheme:
+
+ ```js
+ class MyElement extends HTMLElement {
+ constructor() { super(); /* ... */ }
+ connectedCallback() { /* ... */ }
+ disconnectedCallback() { /* ... */ }
+ static get observedAttributes() { return [/* ... */]; }
+ attributeChangedCallback(name, oldValue, newValue) { /* ... */ }
+ adoptedCallback() { /* ... */ }
+ }
+ customElements.define('my-element', MyElement);
+ /* */
+ ```
+
+2. "Customized built-in elements" -- extensions of existing elements.
+
+ Requires one more `.define` argument, and `is="..."` in HTML:
+ ```js
+ class MyButton extends HTMLButtonElement { /*...*/ }
+ customElements.define('my-button', MyElement, {extends: 'button'});
+ /*