fixed bug with recursive `each`