Imprved JAVA language bindings