improving key-error
more renaming allowing iostreams to be read-only fixing bug allowing arrays with 0-size elements