Add input files

this adds the ability to push custom data files to the client

@rpanah, would you please review this?
all of this is repeated for exp files too. create a function and reuse code.