[ref] Big refactoring part4 (WIP)