- Refactored to support progressbars