first streaming approach
gitignore node_modules