add install function