change interface to pass in paths rather than readers