Refactoring commit

This commit start commit of new branch. I think some critical errors in
my code and now it's need refactoring. I start it now and in future i
will finished it in next commits.