separate concerns of response build and file interactor