Rewrited everything. TODO: find bug in inversion