Index: doc/API
===================================================================
--- doc/API	(revision 97a6a36c3e3bc38c8dbe8ff969cb1a018f5dacae)
+++ doc/API	(revision e3c7769053dca8eafe102086cebf103cea51504d)
@@ -570,4 +570,8 @@
      default destructor
 
+   void free_context_now()
+     Explicitly freeing the the context. This is to prevent libstrongswan's 
+     mainthread from GC'ed by Java. Used with Java/Swig/JNI combination only. 
+
    void dump_yap_db()
      dump the complete yap prolog database
Index: doc/ChangeLog
===================================================================
--- doc/ChangeLog	(revision 97a6a36c3e3bc38c8dbe8ff969cb1a018f5dacae)
+++ doc/ChangeLog	(revision e3c7769053dca8eafe102086cebf103cea51504d)
@@ -4,8 +4,8 @@
         * Added java libabac regression tests in example_scripts/java
         * Added java interface to libabac using JNI generated via SWIG
-          Currently, we are seeing a threading collision with libstrongswan's
-          (strongswan-4.6.4) threads_deinit() where the main_thread becomes
-          NULL (line #476). This new java portion only works if a temporary
-          check is made in strongswan's code base.
+          (Remember to take down the context with free_context_now() 
+          instead of counting on the destructor, this is to avoid the
+          threading problem in libstrongswan when it got GC'ed 
+          prematurely by Java, see swig/java/ProverTest.java)
         * Added default partial proof generation upon fact query failure
         * Added new python attribute and id example tests for the new 
@@ -14,5 +14,5 @@
           creating Attribute from a certificate chunk (Ezra)
         * Added a new ID api call, ABAC::ID::ID_chunk, creating ID from a 
-          certificate chunk(Ezra) 
+          certificate chunk (Ezra) 
 
 = 0.2.2 =
Index: doc/TOC
===================================================================
--- doc/TOC	(revision 97a6a36c3e3bc38c8dbe8ff969cb1a018f5dacae)
+++ doc/TOC	(revision e3c7769053dca8eafe102086cebf103cea51504d)
@@ -5,4 +5,5 @@
 
 usage_scenario      an example usage scenario
+partial_proof       rules for partial-proof derivation
 
 INSTALL             installation instructions
Index: doc/java_install
===================================================================
--- doc/java_install	(revision 97a6a36c3e3bc38c8dbe8ff969cb1a018f5dacae)
+++ doc/java_install	(revision e3c7769053dca8eafe102086cebf103cea51504d)
@@ -1,6 +1,7 @@
-The Java code lives in the java subdirectory.
+The Java code lives in the swig/java subdirectory.
 
 The package should contain all dependencies necessary for
-building/installing Java.
+building/installing Java after main ABAC build which will
+generate the Java JNI via SWIG
 
 SIMPLE BUILD
@@ -13,7 +14,8 @@
 
     all: clean then compile and make docs
-    compile: build the library and test programs
-    run-test: run a simple test program in GraphTest.java (params in target)
-    run-dump: run a program to dump a certificate in ASN1 (params in target)
+    compile: build the library
+    run-setup: run Setup.java to test ABAC credentials creation
+    run-test: run Setup.java and ProverTest.java to test ABAC query
+              (params in target)
     jar: build jabac.jar in build/jar/jabac.jar
     doc: greate API javadocs in ./doc
@@ -21,2 +23,3 @@
             package/private/protected functions)
     clean: remove created files (includes .der and .pem in this directory)
+-
Index: doc/partial_proof
===================================================================
--- doc/partial_proof	(revision 97a6a36c3e3bc38c8dbe8ff969cb1a018f5dacae)
+++ doc/partial_proof	(revision e3c7769053dca8eafe102086cebf103cea51504d)
@@ -7,8 +7,10 @@
 
 A fact query, "Can Coyote buy red rockets from Acme ?", is 
-equivalent to attribute fact, "Acme.buy_rocket(red) <-?- Coyote".
+equivalent to attribute query fact, 
+
+    "Acme.buy_rocket(red) <-?- Coyote".
 
 When it is presented to YAP prolog db by libabac, it is translated 
-into "isMember(pAcme,buy_rocket,red):-pCoyote" for asserting.
+into "isMember(pAcme,buy_rocket,red):-pCoyote" for assertion.
 
 If the fact query can not be proven, libabac iterates through a 
@@ -24,9 +26,10 @@
 the attribute.
 
-In the example fact query, 'whom' is Acme, 'who' is Coyote,'what'
-is buy_rocket and red is assigned to 'whatwith'. 
+In the example fact query, 'whom' is Acme, 'who' is Coyote,
+'what' is buy_rocket and red is assigned to 'whatwith'. 
 
-In case such a fact can not be proven, one or more W terms are 
-allowed to be uninstantiated and see what can be proven. 
+In case, where such a fact can not be proven, one or more W 
+terms are allowed to be uninstantiated and see what can be 
+proven. 
 
 Using the above example, the sequence libabac used to extract
@@ -51,6 +54,6 @@
         (What with Whatwith can coyote do from Whom?)
 
-'whatwith' is in tandem with 'what', if there is no 'whatwith' term, 
-then case 2' is skipped.
+'whatwith' is in tandem with 'what', if there is no 'whatwith' 
+term, then case 2' is skipped.
 
 Multiple partial proofs can be extracted using next_proof() api 
