download and install function added