input/file: convert to class
storage: remove redundant "virtual" keywords

"override" implies "virtual".
input/file: make variables more local