diff --git a/documentation/docs/assets/AddToOutbox.png b/documentation/docs/assets/AddToOutbox.png
new file mode 100644
index 0000000..81dd56d
Binary files /dev/null and b/documentation/docs/assets/AddToOutbox.png differ
diff --git a/documentation/docs/assets/AddToTransport.png b/documentation/docs/assets/AddToTransport.png
new file mode 100644
index 0000000..8564481
Binary files /dev/null and b/documentation/docs/assets/AddToTransport.png differ
diff --git a/documentation/docs/introduction.md b/documentation/docs/introduction.md
index 4b47b89..40a15d2 100644
--- a/documentation/docs/introduction.md
+++ b/documentation/docs/introduction.md
@@ -33,17 +33,27 @@ The following diagrams show the basic flow (omits details).
They are designed to provide a general understanding of how transactional box works.
### Outbox
+:::info
The outbox is responsible for adding messages to the storage and then adding at least once to the transport.
+:::
-![Outbox](assets/outbox.png)
+![AddToOutbox](assets/AddToOutbox.png)
-1. In one transaction you save message to outbox and result of business operation. In this way, you can ensure all or nothing. After correctly transaction commited, execute the `TransactionCommitted` method on `IOutbox`.
-2. In a separate process, Outbox will get messages and add them to the transport.
+In one transaction you save message to outbox and result of business operation. In this way, you can ensure all or nothing. After correctly transaction commited, execute the `TransactionCommitted` method on `IOutbox`.
+
+
+![AddToOutbox](assets/AddToTransport.png)
+
+
+1. In a separate process, Outbox gets messages.
+2. Then add them to the transport.
3. Then processed messages are clean up.
### Inbox
+:::info
The inbox is responsible for getting messages from the transport and adding them to the storage, and then processes these messages.
+:::
![Inbox](assets/inbox.png)