diff --git a/image/dag.svg b/image/dag.svg
new file mode 100644
index 0000000..421e97c
--- /dev/null
+++ b/image/dag.svg
@@ -0,0 +1,153 @@
+
\ No newline at end of file
diff --git a/image/fl.svg b/image/fl.svg
new file mode 100644
index 0000000..21d2eb1
--- /dev/null
+++ b/image/fl.svg
@@ -0,0 +1,493 @@
+
+
+
\ No newline at end of file
diff --git a/readme.md b/readme.md
index 4401f5f..d0f42d9 100644
--- a/readme.md
+++ b/readme.md
@@ -122,7 +122,7 @@ if err := gotaskflow.Visualizer.Visualize(tf, os.Stdout); err != nil {
```
`Visualize` generate raw string in dot format, just use dot to draw a DAG svg.
-
+
### How to use profile taskflow
```go
if err :=exector.Profile(os.Stdout);err != nil {
@@ -132,7 +132,7 @@ if err :=exector.Profile(os.Stdout);err != nil {
`Profile` alse generate raw string in flamegraph format, just use flamegraph to draw a flamegraph svg.
-
+
## What's next
- [ ] Taskflow Composition
- [ ] Conditional Tasking