install function updated