ALL HAS BEEN REWROTED
Just becouse it was simplier than modificate and update old code.
Now it's equal old version and slightly more.