* support save best based on multi metrics * add unit test * resolve bugs after rebasing * revise docstring * revise docstring * fix as comment * revise as comment