using the external scope for progress