diff --git a/CHANGELOG.md b/CHANGELOG.md
index 969f62c9803833a1d73495225886fa9c435fcaaf..84df4a49c4795d4b1164585094bdc22461ed7f95 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Aparapi jni Change Log
 
+## 1.2.1
+
+* createProgram in Java had the wrong signature producing a unsatisfied link exception that is now fixed.
+
 ## 1.2.0
 
 * Fixed the context to a single device instead of all devices of a specific device type. creating a context per type breaks compilation on dopencl.
diff --git a/README.md b/README.md
index 2dafd2a51912e978e665f366ebe6a2a7d67bd159..264331b26582c2efb79d62a094abd90147037036 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
 ![](http://aparapi.com/images/logo-text-adjacent.png)
 
+```
 git submodule init
 git submodule update
 ./prepare.sh
@@ -9,8 +10,10 @@ autoconf
 automake --add-missing
 ./configure
 make
+```
 
-Shared library in .libs/libaparapi.so
+Shared library in `.libs/libaparapi.dynlib` for osx and `.libs/libaparapi.so` for linux.
 
-To prepare a 32bit version on a 64bit system simply run configure as:
+To prepare a 32bit version on a 64bit Linux system simply run configure as:
 ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
+
diff --git a/configure.ac b/configure.ac
index 143db8f99699a50c9d38e973132a8a0ed7062504..091ad19220e68795e1b23257e89d831c521cb7bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([libaparapi], [1.2.0], [jeffrey.freeman@syncleus.com])
+AC_INIT([libaparapi], [1.2.1], [syncleus@syncleus.com])
 AC_ENABLE_SHARED(yes)
 AC_ENABLE_STATIC(no)
 LT_INIT
diff --git a/java b/java
index d2543e1b68e1e255d0749663d483d35b27df6330..2f4db270f4c6e6687b930eb96905c20720594978 160000
--- a/java
+++ b/java
@@ -1 +1 @@
-Subproject commit d2543e1b68e1e255d0749663d483d35b27df6330
+Subproject commit 2f4db270f4c6e6687b930eb96905c20720594978