diff --git a/resources/images/Burning.jpg b/resources/images/Burning.jpg
deleted file mode 100644
index 8ff268435..000000000
Binary files a/resources/images/Burning.jpg and /dev/null differ
diff --git a/resources/images/Minting.jpg b/resources/images/Minting.jpg
deleted file mode 100644
index 1c535ad17..000000000
Binary files a/resources/images/Minting.jpg and /dev/null differ
diff --git a/resources/images/child_dark.svg b/resources/images/child_dark.svg
new file mode 100644
index 000000000..1dc355369
--- /dev/null
+++ b/resources/images/child_dark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/child_light.svg b/resources/images/child_light.svg
new file mode 100644
index 000000000..d23522938
--- /dev/null
+++ b/resources/images/child_light.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/nft/collection_dark.svg b/resources/images/nft/collection_dark.svg
new file mode 100644
index 000000000..e53f5ca55
--- /dev/null
+++ b/resources/images/nft/collection_dark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/nft/collection_light.svg b/resources/images/nft/collection_light.svg
new file mode 100644
index 000000000..712ceeb8e
--- /dev/null
+++ b/resources/images/nft/collection_light.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/nft/nft_deploy_dark.svg b/resources/images/nft/nft_deploy_dark.svg
new file mode 100644
index 000000000..b65c0e395
--- /dev/null
+++ b/resources/images/nft/nft_deploy_dark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/nft/nft_deploy_light.svg b/resources/images/nft/nft_deploy_light.svg
new file mode 100644
index 000000000..db69ac2b8
--- /dev/null
+++ b/resources/images/nft/nft_deploy_light.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/nft/nft_metadata_dark.svg b/resources/images/nft/nft_metadata_dark.svg
new file mode 100644
index 000000000..44bafce93
--- /dev/null
+++ b/resources/images/nft/nft_metadata_dark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/nft/nft_metadata_light.svg b/resources/images/nft/nft_metadata_light.svg
new file mode 100644
index 000000000..6e5eae146
--- /dev/null
+++ b/resources/images/nft/nft_metadata_light.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/resources/images/transfer.jpg b/resources/images/transfer.jpg
deleted file mode 100644
index 3af66f9b0..000000000
Binary files a/resources/images/transfer.jpg and /dev/null differ
diff --git a/standard/tokens/jettons/how-it-works.mdx b/standard/tokens/jettons/how-it-works.mdx
index 023b8299b..0cd39bb2f 100644
--- a/standard/tokens/jettons/how-it-works.mdx
+++ b/standard/tokens/jettons/how-it-works.mdx
@@ -65,7 +65,7 @@ Interactions with Jetton contracts, which are most often encountered by users an
`Actor A regular wallet -> actor A Jetton wallet`. _Transfer_ message contains the following data:
@@ -144,7 +144,7 @@ excesses#d53276db query_id:uint64 = InternalMsgBody;
`Admin regular wallet -> Jetton master contract`. _Mint_ message contains the following data:
@@ -166,7 +166,7 @@ The rest of the messages have already been described above when analyzing the tr
`Actor A regular wallet -> actor A Jetton wallet`. _Burn_ message contains the following data:
diff --git a/standard/tokens/nft/how-works.mdx b/standard/tokens/nft/how-works.mdx
index fe5a1abeb..07b8b0053 100644
--- a/standard/tokens/nft/how-works.mdx
+++ b/standard/tokens/nft/how-works.mdx
@@ -3,9 +3,15 @@ title: "NFT: How it Works"
sidebarTitle: "How it Works"
---
+import { Image } from '/snippets/image.jsx';
+
In TON there is a collection smart contract and a separate smart contract for every NFT item — each item is its own contract see more [why](/techniques/contract-sharding).
-
+
Each NFT knows its collection, its index, and its item-specific part of the [metadata](/standard/tokens/metadata). The initial owner is assigned by the collection.
@@ -13,7 +19,11 @@ Each NFT knows its collection, its index, and its item-specific part of the [met
The collection deploys NFT items with the initial owner and the item-specific metadata.
-
+
## How to verify an NFT belongs to a collection?
@@ -140,7 +150,11 @@ Metadata is split into two parts: one part is stored on the item, another on the
To get metadata for an NFT of a particular index, first fetch the NFT item address from the collection, then read the item metadata, then combine it with the collection metadata to get the final result.
-
+
## NFT transfer
diff --git a/standard/tokens/nft/pictures/nftDeploy.jpg b/standard/tokens/nft/pictures/nftDeploy.jpg
deleted file mode 100644
index 284c92ed3..000000000
Binary files a/standard/tokens/nft/pictures/nftDeploy.jpg and /dev/null differ
diff --git a/standard/tokens/nft/pictures/nftGetMetadata.jpg b/standard/tokens/nft/pictures/nftGetMetadata.jpg
deleted file mode 100644
index 8f97fc14e..000000000
Binary files a/standard/tokens/nft/pictures/nftGetMetadata.jpg and /dev/null differ
diff --git a/standard/tokens/nft/pictures/nftOverview.jpg b/standard/tokens/nft/pictures/nftOverview.jpg
deleted file mode 100644
index d3e821a2d..000000000
Binary files a/standard/tokens/nft/pictures/nftOverview.jpg and /dev/null differ
diff --git a/techniques/contract-sharding.mdx b/techniques/contract-sharding.mdx
index 968370df3..abf8720f7 100644
--- a/techniques/contract-sharding.mdx
+++ b/techniques/contract-sharding.mdx
@@ -3,6 +3,7 @@ title: "Contract sharding"
---
import { Aside } from '/snippets/aside.jsx';
+import { Image } from '/snippets/image.jsx';
Some protocols need to store a lot of information in contracts, for example tokens that have many users. In TON there is a limit on how much can be stored in a single contract. The solution in TON is to split the data across many different contracts, where you can quickly find the right contract by a key and retrieve the required information from it.
@@ -10,11 +11,17 @@ In such protocols there is a child contract that initially contains the informat
To avoid having to know the key upfront, in StateInit we do not populate that field; we only populate the key field. This makes it easy to locate the required contract later.
-