more work on the file storage implementation