progress - feel free to add to functions with comments about functionality