diff --git a/docs/assets/images/layers-diagram.svg b/docs/assets/images/layers-diagram.svg
new file mode 100644
index 0000000..bd4f379
--- /dev/null
+++ b/docs/assets/images/layers-diagram.svg
@@ -0,0 +1,121 @@
+
\ No newline at end of file
diff --git a/docs/assets/images/tower-layers-diagram.svg b/docs/assets/images/tower-layers-diagram.svg
deleted file mode 100644
index 6b95260..0000000
--- a/docs/assets/images/tower-layers-diagram.svg
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
-
-
-
-
-ClientTimeoutTracingAuthStarsky ServiceRequestResponse
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/learning_grpc.md b/docs/learning_grpc.md
index 9a69cd9..0300edc 100644
--- a/docs/learning_grpc.md
+++ b/docs/learning_grpc.md
@@ -337,15 +337,15 @@ Codegen tools need to be used to generate the client and server stubs that will
---
### Features
-- **TLS**
-- **Load balancing**
-- RPC cancellation via **timeouts**
-- Request/Response **compression**
-- Bidirectional **streaming**
- **Health check** of services
- **Interceptors**
- **Reflection**
-- Client & Server **stub generation**
+- **Code generation** from proto definitions
+- RPC cancellation via **timeouts**
+- Bidirectional **streaming**
+- **Load balancing**
+- Request/Response **compression**
+- **TLS**
- Extensible via **Tower** services
note:
@@ -353,7 +353,7 @@ note:
These are only a few notable features, it provides more for sure
---
-### Generate code from Proto definitions :gear:
+### Generating code from Proto definitions :gear:
```rust
// build.rs
@@ -629,7 +629,9 @@ Timeout -> SSRHL -> Tracing -> SSRHL -> Auth -> Starsky service
---
-
+#### Building a layered service
+
+
---
Now let's dive into real middleware implementations