seperate progress from state