model + API for chapter progress