the user might want to supply files to be used
- change state to a cursor of cursors
- swap out cursor structure to allow cursor to be empty (point at nothing)
- 3 process multiple files as arguments
- allow a config file to be read (Yaml) which specifies the list files to be used.