diff --git a/README b/README
index bed9f41..484bb7f 100644
--- a/README
+++ b/README
@@ -50,7 +50,9 @@ Testing
 To compile and run tests you must have cppunit library installed.
 To test if everything is working type:
 
-make build-tests
+make
+make package-java ### to also test Java wrapper
+make package-python ### to also test Python wrapper
 make test
 
 If some tests fail, you can see errors by invoking:
diff --git a/morfeusz/wrappers/java/CMakeLists.txt b/morfeusz/wrappers/java/CMakeLists.txt
index b3dfcba..7f052b8 100644
--- a/morfeusz/wrappers/java/CMakeLists.txt
+++ b/morfeusz/wrappers/java/CMakeLists.txt
@@ -11,11 +11,11 @@ include_directories (${CMAKE_SOURCE_DIR}/morfeusz)
 set (SWIG_JAVA_OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/swigJAVA.cpp")
 file (COPY pl DESTINATION .)
 
-set (JAVA_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/pl/waw/ipipan/morfeusz")
+set (JAVA_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/pl/sgjp/morfeusz")
 
 add_custom_command (
     OUTPUT ${SWIG_JAVA_OUTFILE}
-    COMMAND swig -java -c++ -package pl.waw.ipipan.morfeusz  -o ${SWIG_JAVA_OUTFILE} -outdir ${JAVA_SRC_DIR} ${CMAKE_SOURCE_DIR}/morfeusz/wrappers/morfeusz.i
+    COMMAND swig -java -c++ -package pl.sgjp.morfeusz  -o ${SWIG_JAVA_OUTFILE} -outdir ${JAVA_SRC_DIR} ${CMAKE_SOURCE_DIR}/morfeusz/wrappers/morfeusz.i
     DEPENDS libmorfeusz
 )
 add_custom_target(generate-java-wrapper ALL
@@ -56,7 +56,7 @@ endif ()
 file(GLOB_RECURSE JAVA_SOURCES "${JAVA_SRC_DIR}" "${JAVA_SRC_DIR}/*.java")
 add_jar (jmorfeusz
     SOURCES "${JAVA_SOURCES}"
-    ENTRY_POINT pl/waw/ipipan/morfeusz/app/App
+    ENTRY_POINT pl/sgjp/morfeusz/app/App
     DEPENDS libjmorfeusz generate-java-wrapper)
 
 add_custom_target(generate-javadoc
@@ -66,7 +66,7 @@ add_custom_target(generate-javadoc
         -windowtitle "JMorfeusz - Morfeusz Java binding"
         -use
         -link http://docs.oracle.com/javase/7/docs/api/
-        pl.waw.ipipan.morfeusz
+        pl.sgjp.morfeusz
     DEPENDS jmorfeusz)
 
 add_custom_target(package-javadoc
diff --git a/morfeusz/wrappers/java/JMorfeuszTest.java b/morfeusz/wrappers/java/JMorfeuszTest.java
index 8fa5798..ec4a54a 100644
--- a/morfeusz/wrappers/java/JMorfeuszTest.java
+++ b/morfeusz/wrappers/java/JMorfeuszTest.java
@@ -10,11 +10,11 @@ import static org.junit.Assert.*;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
-import pl.waw.ipipan.morfeusz.Morfeusz;
-import pl.waw.ipipan.morfeusz.MorfeuszUsage;
-import pl.waw.ipipan.morfeusz.MorfeuszException;
-import pl.waw.ipipan.morfeusz.MorphInterpretation;
-import pl.waw.ipipan.morfeusz.ResultsIterator;
+import pl.sgjp.morfeusz.Morfeusz;
+import pl.sgjp.morfeusz.MorfeuszUsage;
+import pl.sgjp.morfeusz.MorfeuszException;
+import pl.sgjp.morfeusz.MorphInterpretation;
+import pl.sgjp.morfeusz.ResultsIterator;
 
 /**
  *
diff --git a/morfeusz/wrappers/java/pl/waw/ipipan/morfeusz/app/App.java b/morfeusz/wrappers/java/pl/sgjp/morfeusz/app/App.java
index 943d503..782f6ba 100644
--- a/morfeusz/wrappers/java/pl/waw/ipipan/morfeusz/app/App.java
+++ b/morfeusz/wrappers/java/pl/sgjp/morfeusz/app/App.java
@@ -1,8 +1,8 @@
-package pl.waw.ipipan.morfeusz.app;
+package pl.sgjp.morfeusz.app;
 
-import pl.waw.ipipan.morfeusz.Morfeusz;
-import pl.waw.ipipan.morfeusz.MorfeuszUsage;
-import pl.waw.ipipan.morfeusz.ResultsIterator;
+import pl.sgjp.morfeusz.Morfeusz;
+import pl.sgjp.morfeusz.MorfeuszUsage;
+import pl.sgjp.morfeusz.ResultsIterator;
 
 /**
  * Hello world!
diff --git a/morfeusz/wrappers/java/pl/waw/ipipan/morfeusz/app/MorfeuszUtils.java b/morfeusz/wrappers/java/pl/sgjp/morfeusz/app/MorfeuszUtils.java
index 9a8bee2..3af1060 100644
--- a/morfeusz/wrappers/java/pl/waw/ipipan/morfeusz/app/MorfeuszUtils.java
+++ b/morfeusz/wrappers/java/pl/sgjp/morfeusz/app/MorfeuszUtils.java
@@ -1,9 +1,9 @@
-package pl.waw.ipipan.morfeusz.app;
+package pl.sgjp.morfeusz.app;
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
-import pl.waw.ipipan.morfeusz.MorphInterpretation;
-import pl.waw.ipipan.morfeusz.Morfeusz;
+import pl.sgjp.morfeusz.MorphInterpretation;
+import pl.sgjp.morfeusz.Morfeusz;
 
 /**
  *
diff --git a/morfeusz/wrappers/morfeusz_java.i b/morfeusz/wrappers/morfeusz_java.i
index 2d8e408..7e39944 100644
--- a/morfeusz/wrappers/morfeusz_java.i
+++ b/morfeusz/wrappers/morfeusz_java.i
@@ -135,6 +135,9 @@ import java.util.ArrayList;
 %}
 
 %rename(_dictionarySearchPaths) morfeusz::Morfeusz::dictionarySearchPaths;
+%rename(_getAvailableAgglOptions) morfeusz::Morfeusz::getAvailableAgglOptions;
+%rename(_getAvailablePraetOptions) morfeusz::Morfeusz::getAvailablePraetOptions;
+
 %rename(_getLabels) morfeusz::IdResolver::getLabels;
 %ignore morfeusz::FileFormatException;
 
@@ -148,7 +151,7 @@ import java.util.ArrayList;
         return $null;
     }
     catch(morfeusz::MorfeuszException & e) {
-        jclass clazz = jenv->FindClass("pl/waw/ipipan/morfeusz/MorfeuszException");
+        jclass clazz = jenv->FindClass("pl/sgjp/morfeusz/MorfeuszException");
         jenv->ThrowNew(clazz, e.what());
         return $null;
     }
@@ -164,22 +167,6 @@ import java.util.ArrayList;
     }
 }
 
-//%javaexception("java.io.IOException") morfeusz::Morfeusz::setGeneratorDictionary {
-//    try {
-//        $action
-//    }
-//    catch(morfeusz::FileFormatException & e) {
-//        jclass clazz = jenv->FindClass("java/io/IOException");
-//        jenv->ThrowNew(clazz, "Invalid file format");
-//        return $null;
-//    }
-//    catch(std::ios_base::failure & e) {
-//        jclass clazz = jenv->FindClass("java/io/IOException");
-//        jenv->ThrowNew(clazz, e.what());
-//        return $null;
-//    }
-//}
-
 %javaexception("java.util.NoSuchElementException") morfeusz::ResultsIterator::next {
     try {
         $action
@@ -196,7 +183,7 @@ import java.util.ArrayList;
         $action
     }
     catch(const morfeusz::MorfeuszException& e) {
-        jclass clazz = jenv->FindClass("pl/waw/ipipan/morfeusz/MorfeuszException");
+        jclass clazz = jenv->FindClass("pl/sgjp/morfeusz/MorfeuszException");
         jenv->ThrowNew(clazz, e.what());
         return $null;
     }
@@ -272,6 +259,24 @@ import java.util.ArrayList;
     public static List<String> getDictionarySearchPaths() {
         return get_dictionarySearchPaths();
     }
+    
+    /**
+     * Get list of possible agglutination rules.
+     * 
+     * @return modifiable list of paths
+     */
+    public List<String> getAvailableAgglOptions() {
+        return java.util.Collections.unmodifiableList(_getAvailableAgglOptions());
+    }
+    
+    /**
+     * Get list of possible past-tense segmentation rules.
+     * 
+     * @return modifiable list of paths
+     */
+    public List<String> getAvailablePraetOptions() {
+        return java.util.Collections.unmodifiableList(_getAvailablePraetOptions());
+    }
 %}
 
 %typemap(javacode) morfeusz::ResultsIterator %{
@@ -307,6 +312,8 @@ import java.util.ArrayList;
 
 // should be overwritten by getDictionarySearchPaths() in typemap(javacode)
 %javamethodmodifiers morfeusz::Morfeusz::dictionarySearchPaths "private";
+%javamethodmodifiers morfeusz::Morfeusz::getAvailableAgglOptions "private";
+%javamethodmodifiers morfeusz::Morfeusz::getAvailablePraetOptions "private";
 
 // should be overwritten by getLabels() in typemap(javacode)
 %javamethodmodifiers morfeusz::IdResolver::getLabels "private";
diff --git a/morfeusz/wrappers/python/CMakeLists.txt b/morfeusz/wrappers/python/CMakeLists.txt
index 35d5bd3..5ec93fb 100644
--- a/morfeusz/wrappers/python/CMakeLists.txt
+++ b/morfeusz/wrappers/python/CMakeLists.txt
@@ -44,7 +44,7 @@ add_custom_target (build_python_wrapper
 add_custom_target (pymorfeusz
         DEPENDS generate_python_wrapper generate_python_setup_file libmorfeusz build_python_wrapper)
 
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+if (UNIX)
     add_custom_target (install-python
         COMMAND python ${SETUP_PY} install --home=${CMAKE_INSTALL_PREFIX}
         DEPENDS pymorfeusz
@@ -55,20 +55,22 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
     )
     set (PACKAGE_DEPENDS "package-python-bin")
     
-    add_custom_target (package-python-deb-sdist
-        COMMAND python ${SETUP_PY} --command-packages=stdeb.command sdist_dsc --depends "${CPACK_DEBIAN_PACKAGE_NAME}" --copyright-file "${PROJECT_SOURCE_DIR}/License.txt"
-        DEPENDS pymorfeusz
-    )
-    add_custom_target (package-python-deb-build
-        COMMAND debuild -us -uc
-        WORKING_DIRECTORY deb_dist/morfeusz2-${PYMORFEUSZ_VERSION}
-        DEPENDS package-python-deb-sdist
-    )
-    add_custom_target(package-python-deb
-        COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/python-morfeusz2*.deb "${TARGET_DIR}"
-        DEPENDS package-python-deb-build
-    )
-    list (APPEND PACKAGE_DEPENDS package-python-deb)
+    if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+        add_custom_target (package-python-deb-sdist
+            COMMAND python ${SETUP_PY} --command-packages=stdeb.command sdist_dsc --depends "${CPACK_DEBIAN_PACKAGE_NAME}" --copyright-file "${PROJECT_SOURCE_DIR}/License.txt"
+            DEPENDS pymorfeusz
+        )
+        add_custom_target (package-python-deb-build
+            COMMAND debuild -us -uc
+            WORKING_DIRECTORY deb_dist/morfeusz2-${PYMORFEUSZ_VERSION}
+            DEPENDS package-python-deb-sdist
+        )
+        add_custom_target(package-python-deb
+            COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/python-morfeusz2*.deb "${TARGET_DIR}"
+            DEPENDS package-python-deb-build
+        )
+        list (APPEND PACKAGE_DEPENDS package-python-deb)
+    endif ()
     add_custom_target (package-python
         DEPENDS pymorfeusz ${PACKAGE_DEPENDS})
 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND NOT CMAKE_CROSSCOMPILING)
diff --git a/test-darwin.sh b/test-darwin.sh
index e7d835b..e97821b 100644
--- a/test-darwin.sh
+++ b/test-darwin.sh
@@ -5,7 +5,7 @@ set -exo pipefail
 cd morfeusz
 echo 'Ala ma kota i żółć' | DYLD_LIBRARY_PATH=. ./morfeusz
 cd ../jmorfeusz
-DYLD_LIBRARY_PATH=../morfeusz:. java -cp *.jar pl.waw.ipipan.morfeusz.app.App
+DYLD_LIBRARY_PATH=../morfeusz:. java -cp *.jar pl.sgjp.morfeusz.app.App
 cd ../pymorfeusz
 DYLD_LIBRARY_PATH=../morfeusz:. python test.py
 cd ..
diff --git a/testPythonWrapper.sh b/testPythonWrapper.sh
index 4c73897..988225c 100755
--- a/testPythonWrapper.sh
+++ b/testPythonWrapper.sh
@@ -2,5 +2,6 @@
 echo "testing python wrapper"
 PROJECT_BINARY_DIR=$1
 export LD_LIBRARY_PATH="$PROJECT_BINARY_DIR/morfeusz:$PROJECT_BINARY_DIR/morfeusz/wrappers/python/build/lib.linux-x86_64-2.7"
-export PYTHONPATH="$PROJECT_BINARY_DIR/morfeusz/wrappers/python/build/lib.linux-x86_64-2.7"
+export PYTHONPATH=`find "$PROJECT_BINARY_DIR" -name _morfeusz2.so -print -quit | xargs dirname`
+echo $PYTHONPATH
 python test.py