diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2313587..2cb253f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,7 +36,7 @@ if ("${INPUT_DICTIONARIES}" STREQUAL "")
    if ("${EMPTY_INPUT_DICTIONARY}" STREQUAL "TRUE")
     set (INPUT_DICTIONARIES ${PROJECT_SOURCE_DIR}/input/empty.txt)
    else ()
-    set (INPUT_DICTIONARIES "${PROJECT_SOURCE_DIR}/input/sgjp-hom.tab,${PROJECT_SOURCE_DIR}/input/dodatki.tab")
+    set (INPUT_DICTIONARIES "${PROJECT_SOURCE_DIR}/input/PoliMorfSmall.tab,${PROJECT_SOURCE_DIR}/input/dodatki.tab")
    endif ()
 endif ()
 
diff --git a/fsabuilder/morfeuszbuilder/fsa/fsa.py b/fsabuilder/morfeuszbuilder/fsa/fsa.py
index c0f234b..76dbaf2 100644
--- a/fsabuilder/morfeuszbuilder/fsa/fsa.py
+++ b/fsabuilder/morfeuszbuilder/fsa/fsa.py
@@ -41,7 +41,7 @@ class FSA(object):
         self.n += 1
         
         # debug
-        if self.n % 100000 == 0:
+        if self.n == 1 or self.n % 10000 == 0:
             logging.info(u'%d %s' % (self.n, word))
 #             logging.info(str(self.register.getStatesNum()))
     #             allWords.append(word)
diff --git a/input/PoliMorfSmall.tab b/input/PoliMorfSmall.tab
index 5eec35b..43de8a1 100644
--- a/input/PoliMorfSmall.tab
+++ b/input/PoliMorfSmall.tab
@@ -707,3 +707,5 @@ dwu	dwa	num:comp
 dwu	dwa	num:pl:gen.dat.loc:m1.m2.m3.n2.f:congr
 dwu	dwa	num:pl:inst:m1.m2.m3.n2:congr
 dwu	dwa	num:pl:nom.acc.voc:m1:rec
+bliżsi	bliski	adj:pl:nom.voc:m1.p1:com		
+najbliżsi	bliski	adj:pl:nom.voc:m1.p1:sup		
diff --git a/input/dodatki.tab b/input/dodatki.tab
index ed7d83f..d9f8827 100644
--- a/input/dodatki.tab
+++ b/input/dodatki.tab
@@ -8,19 +8,50 @@
 7	7	dig
 8	8	dig
 9	9	dig
+I	I	romandig
+V	V	romandig
+X	X	romandig
+C	C	romandig
+M	M	romandig
+pół	pół	num:comp
 ń	on	ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep
 by	by	qub
 naj		naj
 nie		nie
 się	się	qub
+wolnoć	wolnoć	pred
 -	-	interp
+–	–	interp
+—	—	interp
 .	.	interp
 ,	,	interp
 (	(	interp
 )	)	interp
+[	[	interp
+]	]	interp
 "	"	interp
 „	„	interp
 ”	”	interp
+‹	‹	interp
+›	›	interp
+«	«	interp
+»	»	interp
+:	:	interp
+!	!	interp
+?	?	interp
+;	;	interp
+…	…	interp
+*	*	interp
+§	§	interp
+%	%	interp
+:-)	:-)	emoticon
+:)	:)	emoticon
+;-)	;-)	emoticon
+;)	;)	emoticon
+:-))	:-))	emoticon
+:))	:))	emoticon
+;-))	;-))	emoticon
+;))	;))	emoticon
 to	to	pred
 a	A	brev:pun
 b	B	brev:pun
@@ -219,4 +250,141 @@ energo	energo	prefa
 para	para	prefa
 para	para	prefs
 ś	ś	prefv
-wg	wg	brev:npun
+wibro	wibro	prefa
+wibro	wibro	prefs
+izo	izo	prefa
+izo	izo	prefs
+anarcho	anarcho	prefs
+anarcho	anarcho	prefa
+antropo	antropo	prefs
+antropo	antropo	prefa
+łże	łże	prefs
+łże	łże	prefa
+wewnątrz	wewnątrz	prefa
+niedo	niedo	prefppas
+o	+o+	morphconj
+kredyto	kredyt	substa
+trawo	trawa	substa
+dupa	dupo	substa
+biorcą	+biorca	subst:sg:inst:m1	pospolita
+biorce	+biorca	depr:pl:nom:m2	pospolita
+biorce	+biorca	depr:pl:voc:m2	pospolita
+biorcę	+biorca	subst:sg:acc:m1	pospolita
+biorco	+biorca	subst:sg:voc:m1	pospolita
+biorcom	+biorca	subst:pl:dat:m1	pospolita
+biorców	+biorca	subst:pl:acc:m1	pospolita
+biorców	+biorca	subst:pl:gen:m1	pospolita
+biorcy	+biorca	subst:pl:nom:m1	pospolita
+biorcy	+biorca	subst:pl:voc:m1	pospolita
+biorcy	+biorca	subst:sg:dat:m1	pospolita
+biorcy	+biorca	subst:sg:gen:m1	pospolita
+biorcy	+biorca	subst:sg:loc:m1	pospolita
+dawcach	+dawca	subst:pl:loc:m1	pospolita
+dawca	+dawca	subst:sg:nom:m1	pospolita
+dawcami	+dawca	subst:pl:inst:m1	pospolita
+dawcą	+dawca	subst:sg:inst:m1	pospolita
+dawce	+dawca	depr:pl:nom:m2	pospolita
+dawce	+dawca	depr:pl:voc:m2	pospolita
+dawcę	+dawca	subst:sg:acc:m1	pospolita
+dawco	+dawca	subst:sg:voc:m1	pospolita
+dawcom	+dawca	subst:pl:dat:m1	pospolita
+dawców	+dawca	subst:pl:acc:m1	pospolita
+dawców	+dawca	subst:pl:gen:m1	pospolita
+dawcy	+dawca	subst:pl:nom:m1	pospolita
+dawcy	+dawca	subst:pl:voc:m1	pospolita
+dawcy	+dawca	subst:sg:dat:m1	pospolita
+dawcy	+dawca	subst:sg:gen:m1	pospolita
+dawcy	+dawca	subst:sg:loc:m1	pospolita
+żerca	+żerca	subst:sg:nom:m1	pospolita
+żercą	+żerca	subst:sg:inst:m1	pospolita
+żerce	+żerca	depr:pl:nom:m2	pospolita
+żerce	+żerca	depr:pl:voc:m2	pospolita
+żercę	+żerca	subst:sg:acc:m1	pospolita
+żercom	+żerca	subst:pl:dat:m1	pospolita
+żerco	+żerca	subst:sg:voc:m1	pospolita
+żerców	+żerca	subst:pl:acc:m1	pospolita
+żerców	+żerca	subst:pl:gen:m1	pospolita
+żercy	+żerca	subst:pl:nom:m1	pospolita
+żercy	+żerca	subst:pl:voc:m1	pospolita
+żercy	+żerca	subst:sg:dat:m1	pospolita
+żercy	+żerca	subst:sg:gen:m1	pospolita
+żercy	+żerca	subst:sg:loc:m1	pospolita
+znawcach	+znawca	subst:pl:loc:m1	pospolita
+znawcami	+znawca	subst:pl:inst:m1	pospolita
+znawca	+znawca	subst:sg:nom:m1	pospolita
+znawcą	+znawca	subst:sg:inst:m1	pospolita
+znawce	+znawca	depr:pl:nom:m2	pospolita
+znawce	+znawca	depr:pl:voc:m2	pospolita
+znawcę	+znawca	subst:sg:acc:m1	pospolita
+znawcom	+znawca	subst:pl:dat:m1	pospolita
+znawco	+znawca	subst:sg:voc:m1	pospolita
+znawców	+znawca	subst:pl:acc:m1	pospolita
+znawców	+znawca	subst:pl:gen:m1	pospolita
+znawcy	+znawca	subst:pl:nom:m1	pospolita
+znawcy	+znawca	subst:pl:voc:m1	pospolita
+znawcy	+znawca	subst:sg:dat:m1	pospolita
+znawcy	+znawca	subst:sg:gen:m1	pospolita
+znawcy	+znawca	subst:sg:loc:m1	pospolita
+maniacy	+maniak	subst:pl:nom:m1	pospolita
+maniacy	+maniak	subst:pl:voc:m1	pospolita
+maniakach	+maniak	subst:pl:loc:m1	pospolita
+maniaka	+maniak	subst:sg:acc:m1	pospolita
+maniaka	+maniak	subst:sg:gen:m1	pospolita
+maniakami	+maniak	subst:pl:inst:m1	pospolita
+maniakiem	+maniak	subst:sg:inst:m1	pospolita
+maniaki	+maniak	depr:pl:nom:m2	pospolita
+maniaki	+maniak	depr:pl:voc:m2	pospolita
+maniak	+maniak	subst:sg:nom:m1	pospolita
+maniakom	+maniak	subst:pl:dat:m1	pospolita
+maniakowi	+maniak	subst:sg:dat:m1	pospolita
+maniaków	+maniak	subst:pl:acc:m1	pospolita
+maniaków	+maniak	subst:pl:gen:m1	pospolita
+lodzy	+log	subst:pl:nom:m1	pospolita
+lodzy	+log	subst:pl:voc:m1	pospolita
+logach	+log	subst:pl:loc:m1	pospolita
+loga	+log	subst:sg:acc:m1	pospolita
+loga	+log	subst:sg:gen:m1	pospolita
+logami	+log	subst:pl:inst:m1	pospolita
+log	+log	subst:sg:nom:m1	pospolita
+logiem	+log	subst:sg:inst:m1	pospolita
+logi	+log	depr:pl:nom:m2	pospolita
+logi	+log	depr:pl:voc:m2	pospolita
+logom	+log	subst:pl:dat:m1	pospolita
+logowie	+log	subst:pl:nom:m1	pospolita
+logowie	+log	subst:pl:voc:m1	pospolita
+logowi	+log	subst:sg:dat:m1	pospolita
+logów	+log	subst:pl:acc:m1	pospolita
+logów	+log	subst:pl:gen:m1	pospolita
+logu	+log	subst:sg:loc:m1	pospolita
+logu	+log	subst:sg:voc:m1	pospolita
+logiach	+logia	subst:pl:loc:f	pospolita
+logia	+logia	subst:sg:nom:f	pospolita
+logiami	+logia	subst:pl:inst:f	pospolita
+logią	+logia	subst:sg:inst:f	pospolita
+logie	+logia	subst:pl:acc:f	pospolita
+logie	+logia	subst:pl:nom:f	pospolita
+logie	+logia	subst:pl:voc:f	pospolita
+logię	+logia	subst:sg:acc:f	pospolita
+logii	+logia	subst:pl:gen:f	pospolita
+logii	+logia	subst:sg:dat:f	pospolita
+logii	+logia	subst:sg:gen:f	pospolita
+logii	+logia	subst:sg:loc:f	pospolita
+logij	+logia	subst:pl:gen:f	pospolita
+logio	+logia	subst:sg:voc:f	pospolita
+logiom	+logia	subst:pl:dat:f	pospolita
+latek	latek	subst:sg:nom:m1	pospolita	
+latkach	latek	subst:pl:loc:m1	pospolita	
+latka	latek	subst:sg:acc:m1	pospolita	
+latka	latek	subst:sg:gen:m1	pospolita	
+latkami	latek	subst:pl:inst:m1	pospolita	
+latki	latek	depr:pl:nom:m2	pospolita	
+latki	latek	depr:pl:voc:m2	pospolita	
+latkiem	latek	subst:sg:inst:m1	pospolita	
+latkom	latek	subst:pl:dat:m1	pospolita	
+latkowi	latek	subst:sg:dat:m1	pospolita	
+latkowie	latek	subst:pl:nom:m1	pospolita	
+latkowie	latek	subst:pl:voc:m1	pospolita	
+latków	latek	subst:pl:acc:m1	pospolita	
+latków	latek	subst:pl:gen:m1	pospolita	
+latku	latek	subst:sg:loc:m1	pospolita	
+latku	latek	subst:sg:voc:m1	pospolita
diff --git a/input/polimorf.tagset b/input/polimorf.tagset
index 2158549..64615e4 100644
--- a/input/polimorf.tagset
+++ b/input/polimorf.tagset
@@ -696,6 +696,11 @@
 691	winien:sg:n1.n2:pri:imperf
 692	winien:sg:n1.n2:sec:imperf
 693	winien:sg:n1.n2:ter:imperf
+694	prefppas
+695	substa
+696	morphconj
+697	romandig
+698	emoticon
 
 [NAMES]
 0	
diff --git a/input/segmenty.dat b/input/segmenty.dat
index 9505803..28eba5b 100644
--- a/input/segmenty.dat
+++ b/input/segmenty.dat
@@ -3,7 +3,6 @@ aggl=permissive strict isolated
 praet=split composite
 
 [combinations]
-
 #define wsz_interp (interp|kropka|dywiz)*
 
 #define moze_interp(segmenty) wsz_interp segmenty wsz_interp
@@ -20,7 +19,7 @@ samotny
 # przeszlik pojedynczy w formie nieaglutynacyjnej, np. „gniótł”:
 moze_interp(praet_sg_na)
 
-# przeszlik pojedynczy w formie niezróżnicowanej aglutynacyjnie, np. „czytał”:
+# przeszlik pojedynczy w formie niezróżnicowanej aglutynacyjnie, np. „moze”:
 moze_interp(praet_sg)
 
 # przeszlik mnogi, np. „czytali”:
@@ -32,14 +31,19 @@ moze_interp(by)
 # inne segmenty, które dopuszczają po sobie aglutynant,
 # np. „powininna”, „czyżby”:
 moze_interp(z_aglt)
+moze_interp(z_aglt_by)
 
 # forma przymiotnikowa (dopuszcza adja):
 moze_interp(adj)
 
-# dywiz (jako samodzielny segment jest tyko błędnym użyciem w funkcji
+# dywiz (jako samodzielny segment jest tylko błędnym użyciem w funkcji
 # myślnika, ale trzeba to dopuścić):
 dywiz
 
+# pauza i półpauza w funkcji myślnika
+pauza
+polpauza
+
 #ifdef isolated
 adja
 #endif
@@ -70,7 +74,7 @@ moze_interp(praet_sg by aglsg)
 # np. „gnietli·by·śmy”
 moze_interp(praet_pl by aglpl)
 #else
-#moze_interp(praetcond)
+# moze_interp(praetcond)
 #endif
 # np. „by·ś”
 moze_interp(by aglsg)
@@ -79,8 +83,13 @@ moze_interp(by aglpl)
 
 # np. „gdyby·m”
 moze_interp(z_aglt aglsg)
+moze_interp(z_aglt_by aglsg)
 # np. „gdyby·ście”
 moze_interp(z_aglt aglpl)
+moze_interp(z_aglt_by aglpl)
+# oraz wersje z by, np. chybabym
+moze_interp(z_aglt by aglsg)
+moze_interp(z_aglt by aglpl)
 
 # To jest dużo za dużo, ale tytułem eksperymentu:
 #ifdef permissive
@@ -98,14 +107,14 @@ moze_interp( (adja dywiz)+ adj )
 # adja dywiz adja dywiz adja dywiz adj interp?
 # adja dywiz adja dywiz adja dywiz adja dywiz adj interp?
 
-# Stopień najwyższy:
-# np. „naj·zieleńszy”, „naj·mądrzej”
-moze_interp( naj> adj_sup )
-moze_interp( nie> naj> adj_sup ) !weak
+# Formy zanegowane stopnia wyższego przymiotników i przysłówków (WK)
+# np. „nie·grzeczniejszy”, „nie·grzeczniej”
+moze_interp( adj_com )
+moze_interp( nie> adj_com )
 
 # Formy „zanegowane” gerundiów i imiesłowów:
 # np. „nie·czytanie”, „nie·przeczytany”, „nie·czytający”:
-moze_interp( nie > negat )
+moze_interp( nie> negat )
 
 # Przyimki akceptujące krótką formę „-ń”
 moze_interp(z_on_agl)
@@ -113,19 +122,34 @@ moze_interp(z_on_agl)
 moze_interp(z_on_agl on_agl)
 
 # Liczba zapisana jako ciąg cyfr:
-moze_interp( dig>* dig ) !weak
+moze_interp( dig>* dig )
+
+# Liczba rzymska zapisana jako ciąg cyfr rzymskich:
+# (kiepskie, trzeba poprawić wyrażeniem regularnym)
+moze_interp( roman>* roman )
 
 # Formacje prefiksalne
 #### trzeba wydzielić odpowiednie samodze!
-# rzeczownikowe i przymiotnikowe
-# np. „euro·sodoma”, „e-·papieros”, „euro·sodomski”, „bez·argumentowy”
-moze_interp( prefs> samodz )
+# rzeczownikowe
+# np. „euro·sodoma”, „e-·papieros”
+moze_interp(nomina)
+moze_interp( prefs> nomina ) !weak
 # czasownikowe np. „po·nakapywać”
-moze_interp( prefv> samodz )
+moze_interp(inf_imperf|praet_imperf|imps_imperf|fin_imperf|impt_sg_imperf|impt_pl_imperf|impt_sg_perf|impt_pl_perf)
+moze_interp( prefv> (inf_imperf|praet_imperf|imps_imperf|fin_imperf|impt_sg_imperf|impt_pl_imperf) ) !weak
+# przymiotnikowe np. „do·żylny”, „euro·sodomski”, „bez·argumentowy”
+moze_interp(ppas|adv_pos|pact)
+# moze_interp(prefa> adj)
+moze_interp( prefa> ( adj|adv_pos|pact|ppas ) ) !weak 
+moze_interp( prefppas> ppas ) !weak
 
 # Apozycje z dywizem
 # np. „kobieta-prezydent”
-moze_interp( samodz dywiz samodz )
+moze_interp( nomina (dywiz) nomina )
+
+# Zakresy liczbowe, daty, np. 1911-1939.
+moze_interp((dig>* dig) dywiz (dig>* dig))
+
 # poniższe do sprawdzenia, najwyraźniej obecne w tekstach, skoro wprowadziliśmy:
 # ?
 adj dywiz adj
@@ -134,13 +158,92 @@ adj dywiz samodz
 # ?
 samodz dywiz adj
 
+#### PONIŻEJ REGUŁY WK
+# Stopień najwyższy:
+# np. „naj·zieleńszy”, „naj·mądrzej”
+moze_interp( naj> adj_sup )
+# Cząstka li przy osobowych formach czasownika oddzielona dywizem: znasz-li ten kraj
+moze_interp( praet_sg dywiz li)
+moze_interp( praet_sg aglsg dywiz li)
+moze_interp( praet_pl dywiz li)
+moze_interp( praet_pl aglpl dywiz li)
+moze_interp( praet_sg_na dywiz li)
+moze_interp( fin_perf)
+moze_interp( fin_imperf)
+moze_interp( (fin_perf|fin_imperf) dywiz li)
+
+# i bez dywizu --- czy bez dywizu jest sens łapać?
+#moze_interp( praet_sg li)
+#moze_interp( praet_pl li)
+#moze_interp( praet_sg_na li)
+#moze_interp( (fin_perf|fin_imperf) li)
+
+# reguła z partykułą ‹+że› przy trybie rozkazującym
+# zakończonym na spółgłoskę
+moze_interp(impt_sg_imperf ze)
+moze_interp(impt_sg_perf ze)
+# dodatkowo reguła dla part+że (niemalże, omalże, nieomalże):
+# moze_interp(part_z_ze ze) --- już niepotrzebne, part. wpisane do słownika
+# potrzebna jeszcze reguła dla ‹onże›
+# i dla ‹+ż› przy zakończonym na samogłoskę
+moze_interp(impt_pl_imperf z)
+moze_interp(impt_pl_perf z)
+
+# aglutynant przy przymiotniku --- obsługiwane wyżej w wersji permissive
+# moze_interp( adj aglsg )
+moze_interp( adj aglpl )
+
+# forma złoż. liczebnika + przymiotnik, np. wieloaspektowy, pięciomasztowy
+# dwudziestopięcioipółletni
+moze_interp( i )
+moze_interp( pol_zloz > adj ) !weak
+moze_interp( num_zloz>+ adj ) !weak
+moze_interp( num_zloz>+ i> pol_zloz> adj ) !weak
+# moze_interp(num_zloz+ (i pol_zloz)? adj)
+
+# półdolarówka, półsiostra
+moze_interp( ( pol_zloz>|num_zloz> ) nomina ) !weak
+# nie analizuje: dwudziestopięcioipółlatek --- powinien?
+# moze_interp( num_zloz nomina )
+# czy dodać sufiksy: +latek m1, +latek m2, +latka f ? Chyba nie trzeba
+
+# wykluczenie ze złożeń przymiotników: ten, ów, ki, si.
+moze_interp(adj_anty_zloz)
+
+# złożenia adja+adj/adv bez dywizu, np. średniopienny, sierściowłosy
+moze_interp(adja>+ adj) !weak
+
+# złożenia konkretnych przyimków z formą -ń rzeczownika on:
+moze_interp(prep_n)
+moze_interp(prep_n n)
+
+# REGUŁY EKSPERYMENTALNE
+# formy złoż. rzeczowników i sufiksy
+moze_interp( substa> sufs ) !weak
+
+# złożenia imiesłowów przymiotnikowych czynnych;
+# z braku form złoż. korzysta się z imiesłowów przysłówkowych + o
+moze_interp(pcon)
+# moze_interp( (pcon> morphconj dywiz)+ pact )
+
+# liczba arabska formą przymiotnikową, przysłówkową lub rzeczownikową: 22-letni, 20-latek, 
+# 1-majowy, 3-krotnie
+moze_interp( dig>+ dywiz> (adj|adv_pos|nomina) )
+
+# liczba rzymska z formą przymiotnikową: XIX-wieczny
+moze_interp( roman>+ dywiz> adj )
+
+# formy złoż. z sufiksem +latek:
+moze_interp( num_zloz>+ latek ) !weak
+moze_interp(num_zloz>+ i> pol_zloz> latek ) !weak
+
+# złożenia liczbowe z sufiksem +latek, np. 20-latek:
+moze_interp( dig>+ dywiz> latek )
+
+# interpretacja znaków interpunkcyjnych
+# moze_interp(samodz interp)
+
 [generator combinations]
-adja
-adj
-adj_sup
-samodz
-prefs> samodz
-prefv> samodz
 
 [segment types]
 naj
@@ -148,12 +251,35 @@ nie
 prefs
 prefv
 prefa
+prefppas
+ppas
+pcon
+morphconj
+li
+substa
+sufs
+latek
+dywiz
+pauza
+polpauza
+kropka
+adj_anty_zloz
+adj_com
+fin_perf
+fin_imperf
+nomina
+adv_pos
+pact
+inf_imperf
+praet_imperf
+imps_imperf
+ze
+z
 dig
+roman
 adja
 adj
 adj_sup
-adj_com
-fin
 negat
 on_agl
 z_on_agl
@@ -161,31 +287,45 @@ samotny
 interp
 aglsg
 aglpl
+z_aglt
+z_aglt_by
+by
 praetcond
 praet_sg_agl
 praet_sg_na
 praet_sg
 praet_pl
-z_aglt
-by
-li
-nomina
-adjectiva
-verba_imperf
-dywiz
-kropka
+impt_sg_perf
+impt_sg_imperf
+impt_pl_perf
+impt_pl_imperf
+pol_zloz
+num_zloz
+i
+n
+prep_n
+emoticon
+killfile
 samodz
 
+
 [tags]
 naj	naj
 nie	nie
 prefs	prefs
 prefv	prefv
+prefa	prefa
+prefppas	prefppas
 dig	dig
+roman	romandig
 adja	adja
+substa	substa
 adj	adj:%:pos
 adj_sup	adj:%:sup
 adj_sup	adv:sup
+adj_com	adj:%:com
+adj_com	adj:%:com
+pcon	pcon:imperf
 negat	ger:%:neg
 negat	pact:%:neg
 negat	ppas:%:neg
@@ -193,43 +333,110 @@ on_agl	ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep
 z_on_agl	prep:%
 samotny	brev:pun
 samotny	brev:npun
-samotny	interj
+# samotny	interj
+samotny	emoticon
 interp	interp
 aglsg	aglt:sg:%
 aglpl	aglt:pl:%
-#praetcond	cond:%
-#praetcond	praet:%:pri:%
-#praetcond	praet:%:sec:%
-#praetcond	praet:%:ter:%
 praet_sg_agl	praet:sg:%:agl
 praet_sg_na	praet:sg:%:nagl
 praet_sg	praet:sg:%
 praet_pl	praet:pl:%
 praet_sg	winien:sg:%
 praet_pl	winien:pl:%
+fin_perf	fin:%:perf
+fin_imperf	fin:%:imperf
+nomina		subst:%
+nomina		ger:%
+nomina		depr:%
+adv_pos		adv:pos
+ppas		ppas:%
+pact		pact:%
+praet_imperf	praet:%:imperf
+inf_imperf	inf:imperf
+imps_imperf	imps:imperf
+impt_sg_imperf	impt:sg:%:imperf
+impt_sg_perf	impt:sg:%:perf
+impt_pl_imperf	impt:pl:%:imperf
+impt_pl_perf	impt:pl:%:perf
+num_zloz	num:comp
+prep_n		prep:%:wok
 samodz		%
 
 [lexemes]
+pol_zloz	pół:num:comp
+i	i:conj
+by	by:qub
+li	li:qub
+ze	+że:qub
+z	+ż:qub
+killfile	+ć:qub
 z_aglt	aby:comp
 z_aglt	bowiem:comp
-by	by:qub
 z_aglt	by:comp
 z_aglt	cóż:subst
 z_aglt	czemu:adv
-z_aglt	czyżby:qub
-z_aglt	choćby:comp
-z_aglt	chociażby:comp
+z_aglt_by	czyżby:qub
+z_aglt_by	choćby:comp
+z_aglt_by	chociażby:comp
 z_aglt	dlaczego:adv
 z_aglt	dopóki:comp
 z_aglt	dopóty:conj
-z_aglt	gdyby:comp
+z_aglt_by	gdyby:comp
 z_aglt	gdzie:qub
 z_aglt	gdzie:adv
-z_aglt	jakby:comp
-z_aglt	jakoby:comp
+z_aglt_by	jakby:comp
+z_aglt_by	jakoby:comp
 z_aglt	kiedy:adv
 z_aglt	kiedy:comp
 z_aglt	tylko:qub
 z_aglt	żeby:comp
+z_aglt	to:conj
+z_aglt	chyba:qub
+z_aglt	że:qub
+z_aglt	czy:conj
+z_aglt_by	oby:qub
+z_aglt_by	bodajby:qub
+z_aglt	co:comp
 dywiz	-:interp
+pauza	—:interp
+polpauza	–:interp
 kropka	.:interp
+n	on:ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep
+adj_anty_zloz	ten:adj:%
+adj_anty_zloz	tenże:adj:%
+adj_anty_zloz	ck:adj:%
+adj_anty_zloz	c.k.:adj:%
+adj_anty_zloz	ki:adj:%
+adj_anty_zloz	si:adj:%
+adj_anty_zloz	ow:adj:%
+adj_anty_zloz	ów:adj:%
+adj_anty_zloz	ówże:adj:%
+adj_anty_zloz	mój:adj:%
+adj_anty_zloz	a-z:adj:%
+adj_anty_zloz	a-ż:adj:%
+adj_anty_zloz	kiż:adj:%
+adj_anty_zloz	be:adj:%
+adj_anty_zloz	caca:adj:%
+adj_anty_zloz	czyj:adj:%
+adj_anty_zloz	oboj:adj:%
+adj_anty_zloz	on:adj:%
+adj_anty_zloz	tyli:adj:%
+prep_n		do:prep:%
+prep_n		dla:prep:%
+prep_n		koło:prep:%
+prep_n		na:prep:%
+prep_n		o:prep:%
+prep_n		po:prep:%
+prep_n		poza:prep:%
+prep_n		spoza:prep:%
+prep_n		za:prep:%
+prep_n		zza:prep:%
+morphconj	+o+:morphconj
+# adj_anty_zloz	pop:adj:%
+sufs	+znawca:subst:%
+sufs	+dawca:subst:%
+sufs	+biorca:subst:%
+sufs	+żerca:subst:%
+sufs	+maniak:subst:%
+latek	latek:subst:%
diff --git a/morfeusz/morfeusz.i b/morfeusz/morfeusz.i
index 465d00c..07f02bc 100644
--- a/morfeusz/morfeusz.i
+++ b/morfeusz/morfeusz.i
@@ -5,7 +5,7 @@
 #ifdef SWIGJAVA
 %module MorfeuszWrapper
 #else
-%module morfeusz
+%module morfeusz2
 #endif 
 
 %feature("autodoc", "2");
@@ -66,22 +66,22 @@ namespace std {
 
 def analyze(self, text):
   res = InterpsVector()
-  _morfeusz.Morfeusz_analyze(self, text, res)
+  _morfeusz2.Morfeusz_analyze(self, text, res)
   return list(res)
 
 Morfeusz.analyze = analyze
 
 def getOrth(self):
-  return _morfeusz.MorphInterpretation_getOrth(self).decode('utf8')
+  return _morfeusz2.MorphInterpretation_getOrth(self).decode('utf8')
 
 def getLemma(self):
-  return _morfeusz.MorphInterpretation_getLemma(self).decode('utf8')
+  return _morfeusz2.MorphInterpretation_getLemma(self).decode('utf8')
 
 def getTag(self):
-  return _morfeusz.MorphInterpretation_getTag(self).decode('utf8')
+  return _morfeusz2.MorphInterpretation_getTag(self).decode('utf8')
 
 def getName(self):
-  return _morfeusz.MorphInterpretation_getName(self).decode('utf8')
+  return _morfeusz2.MorphInterpretation_getName(self).decode('utf8')
 
 MorphInterpretation.getOrth = getOrth
 MorphInterpretation.getLemma = getLemma
diff --git a/morfeusz/python/CMakeLists.txt b/morfeusz/python/CMakeLists.txt
index d31c2ac..24de5ba 100644
--- a/morfeusz/python/CMakeLists.txt
+++ b/morfeusz/python/CMakeLists.txt
@@ -12,16 +12,15 @@ INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
 INCLUDE_DIRECTORIES (..)
 
 set (SWIG_PYTHON_OUTFILE swigPYTHON.cpp)
-# set (JAVA_WRAPPER_FILE ${CMAKE_SHARED_LIBRARY_PREFIX}morfeusz${CMAKE_SHARED_LIBRARY_SUFFIX})
 add_custom_command ( 
-    OUTPUT ${SWIG_PYTHON_OUTFILE} morfeusz.py
+    OUTPUT ${SWIG_PYTHON_OUTFILE} morfeusz2.py
     COMMAND swig -python -c++ -o ${SWIG_PYTHON_OUTFILE} ${CMAKE_SOURCE_DIR}/morfeusz/morfeusz.i
     DEPENDS libmorfeusz
 )
 
 set (SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
 set (SETUP_PY    "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
-set (DEPS        "${CMAKE_CURRENT_BINARY_DIR}/morfeusz.py" "${SWIG_PYTHON_OUTFILE}")
+set (DEPS        "${CMAKE_CURRENT_BINARY_DIR}/morfeusz2.py" "${SWIG_PYTHON_OUTFILE}")
 set (OUTPUT      "${CMAKE_CURRENT_BINARY_DIR}/build")
 
 configure_file (${SETUP_PY_IN} ${SETUP_PY})
@@ -51,11 +50,11 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
         )
         add_custom_target (package-python-deb-build
             COMMAND debuild -us -uc
-            WORKING_DIRECTORY deb_dist/pymorfeusz-${PYMORFEUSZ_VERSION}
+            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-pymorfeusz*.deb "${TARGET_DIR}"
+            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)
diff --git a/morfeusz/python/setup.py.in b/morfeusz/python/setup.py.in
index 3226e85..0c679da 100644
--- a/morfeusz/python/setup.py.in
+++ b/morfeusz/python/setup.py.in
@@ -1,14 +1,14 @@
 # -*- coding: utf-8 -*-
 from setuptools import setup, Extension
 
-morfeusz2 = Extension('_morfeusz',
+morfeusz2 = Extension('_morfeusz2',
                     libraries=['morfeusz2'],
                     library_dirs=['${CMAKE_CURRENT_BINARY_DIR}/..'],
                     include_dirs=['${CMAKE_CURRENT_SOURCE_DIR}/..'],
                     sources=['${CMAKE_CURRENT_BINARY_DIR}/${SWIG_PYTHON_OUTFILE}'])
 
 if __name__ == '__main__':
-    setup(name='pymorfeusz',
+    setup(name='morfeusz2',
           author='${CPACK_PACKAGE_VENDOR}',
           author_email='${CPACK_PACKAGE_CONTACT}',
           description='Python bindings for Morfeusz',