recontruct compare_function
recontruct test