From a21b64c31ca515475b3e51af80252168d9d584a2 Mon Sep 17 00:00:00 2001
From: Reinhard Prechtl <reinhard.prechtl@codecentric.de>
Date: Fri, 22 Dec 2017 15:48:42 +0100
Subject: [PATCH] Updated user documentation

---
 README.md | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/README.md b/README.md
index 0abb4b8..0a2d1f4 100644
--- a/README.md
+++ b/README.md
@@ -12,14 +12,37 @@ Feel free to suggest changes!
 
 # Usage
 
+## Instantiation of the Infinispan container
+
 Here's simple example how you can use the `InfinispanContainer`.
 
 ```
 @ClassRule
 public static InfinispanContainer infinispan = new InfinispanContainer()
+          .withProtocolVersion(ProtocolVersion.PROTOCOL_VERSION_26);
+```
+## Cache creation
+
+You can create simple local caches that need to be available for your tests. If you run an up-to-date Infinispan container (>9.1.0) then caches can be created
+using the API of the `RemoteCacheManager` provided by the Infinispan client library. Simple configure some caches that the `InfinispanContainer` should create for you.
+They will automatically be created once the container has started.
+
+```
+new InfinispanContainer()
           .withProtocolVersion(ProtocolVersion.PROTOCOL_VERSION_26)
           .withCaches("testCache");
+``` 
+
+If you run an Infinispan server version prior to `9.1.0`, you can link a configuration file that contains the necessary caches into the container:
+
 ```
+new InfinispanContainer("jboss/infinispan-server:9.0.3.Final")
+      .withProtocolVersion(ProtocolVersion.PROTOCOL_VERSION_26)
+      .withStandaloneConfiguration("infinispan-standalone.xml")
+```
+
+## CacheManager retrieval
+
 If you want, you can retrieve a `RemoteCacheManager` from the container:
 ```
 infinispan.getCacheManager()