A lot of untested changes...
But concept is getting clear...