added the installation function