diff --git a/abstract-document/README.md b/abstract-document/README.md
new file mode 100644
index 000000000..d9538c0bd
--- /dev/null
+++ b/abstract-document/README.md
@@ -0,0 +1,26 @@
+---
+layout: pattern
+title: Abstract Document
+folder: abstract-document
+permalink: /patterns/abstract-document/
+categories: Structural
+tags:
+ - Java
+ - Difficulty-Intermediate
+---
+
+## Intent
+Achieve flexibility of untyped languages and keep the type-safety
+
+
+
+## Applicability
+Use the Abstract Document Pattern when
+
+* there is a need for dynamic properties
+* you want a better way to organize domain
+* you want loosely coupled system with flexibility of untyped languages
+
+## Real world examples
+
+* [Speedment](https://github.com/speedment/speedment)
\ No newline at end of file
diff --git a/abstract-document/pom.xml b/abstract-document/pom.xml
new file mode 100644
index 000000000..e7fc58047
--- /dev/null
+++ b/abstract-document/pom.xml
@@ -0,0 +1,42 @@
+
+
+
+ 4.0.0
+
+ java-design-patterns
+ com.iluwatar
+ 1.12.0-SNAPSHOT
+
+ abstract-document
+
+
+ junit
+ junit
+ test
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index af807b8ba..362519090 100644
--- a/pom.xml
+++ b/pom.xml
@@ -125,7 +125,8 @@
mutex
semaphore
hexagonal
-
+ abstract-document
+