...more restructure code. Dependent on the last commit.