Major changes, still in progress

see prev commit