added a function where if the installer doesn't exist, it downloads it