diff --git a/src/main/java/io/foldright/inspectablewrappers/Wrapper.java b/src/main/java/io/foldright/inspectablewrappers/Wrapper.java
index 9945aa0..7e220cf 100644
--- a/src/main/java/io/foldright/inspectablewrappers/Wrapper.java
+++ b/src/main/java/io/foldright/inspectablewrappers/Wrapper.java
@@ -4,8 +4,14 @@
/**
- * This {@code Wrapper} interface is used to be implemented by wrapper classes,
+ * This {@code Wrapper} interface is used to be implemented by biz wrapper instances,
* make an inspectable wrapper chain(linked list).
+ *
+ *
+ *
+ *
+ *
+ *
*
* Note about wrapper chain:
*
diff --git a/src/main/java/io/foldright/inspectablewrappers/WrapperAdapter.java b/src/main/java/io/foldright/inspectablewrappers/WrapperAdapter.java
index b983c35..e4c754e 100644
--- a/src/main/java/io/foldright/inspectablewrappers/WrapperAdapter.java
+++ b/src/main/java/io/foldright/inspectablewrappers/WrapperAdapter.java
@@ -5,7 +5,7 @@
/**
* This {@code WrapperAdapter} interface is used to
- * adapt an existed wrapper instance to type {@link Wrapper} without modifying it.
+ * adapt an existed wrapper instance with type {@link Wrapper} without modifying it.
*
* The existed wrapper may not be able to be modified to integrate with {@code inspectable wrappers};
* Integration with {@code inspectable wrappers} means implementation the {@link Wrapper} interface.
diff --git a/src/main/java/io/foldright/inspectablewrappers/package-info.java b/src/main/java/io/foldright/inspectablewrappers/package-info.java
index ff56b13..8305722 100644
--- a/src/main/java/io/foldright/inspectablewrappers/package-info.java
+++ b/src/main/java/io/foldright/inspectablewrappers/package-info.java
@@ -14,6 +14,29 @@
*
- The {@link io.foldright.inspectablewrappers.Inspector} class is used to inspect the wrapper chain.
*
*
+ * About wrapper pattern
+ *
+ * Wrapper pattern(aka. Decorator pattern) is
+ * well-known and widely-used, is used to attach new behaviors to objects
+ * (the wrappee/underlying instances/wrapped instances)
+ * by placing these objects inside the wrapper objects that contain the behaviors.
+ *
+ * Well-known examples of wrapper pattern in java std lib:
+ *
+ * - Collection Wrappers:
+ * (Wrapper Implementations - The Java™ Tutorials)
+ *
+ * - Unmodifiable Wrappers, e.g.
+ * {@link java.util.Collections#unmodifiableList(java.util.List) Collections#unmodifiableList(List)}
+ *
- Synchronization Wrappers, e.g.
+ * {@link java.util.Collections#synchronizedCollection(java.util.Collection) Collections#synchronizedCollection(Collection)}
+ *
+ * - {@link java.io.BufferedReader#BufferedReader(java.io.Reader) BufferedReader#BufferedReader(Reader)}
+ *
+ *
+ * The related design patterns are Adapter
+ * the wrapper instances and wra
+ *
* @author Jerry Lee (oldratlee at gmail dot com)
* @author Zava Xu (zava dot kid at gmail dot com)
* @author Yang Fang (snoop dot fy at gmail dot com)