gather free variables