extract progress code for clarity; update todo list with next big idea
implemented big speedup