improve svd api