removed FunctionUtil