variadic fns
fix another gc bug