single responsibility moving file logic to file manager