adding function_object study