allow variable-length filenames. Fixes #6