removed var once and for all, renamed Func back to func