separated install()/uninstall() functions