Now using InputStreams instead of just strings for the constructor