I don't want to say more about this commit. It cantains many changes and...

... takes me a lot of time.