add Func cast