Massive refactor going ...