parameter optmization: add score function