add function for eval_project/apply
add function