[core] major refactoring of several componenta