seperated MakeFun from macros