add FunctionManager class