more groundwork for progress bar