[NOMERGE] Prepare refactor branch

Please create a 'feature/refactor' upstream branch that this PR can be merged into