Refactored the installer.