https://stackblitz.com/edit/node-vffx5k?embed=1&file=recursive.js