Progress data structure and tests