add ability to save and read progress
allow select and deselect