refactor FileLoader