great function with other functions as param