new install and update functions