separate install API