refactor: derive 'FileData' class