renamed Fn to Func