refactoring core
Installer