completely rewrite the installer