- Removed old .async() calling style
- Reduced amount of recursion
- Added protection to avoid stack overflow