need to talk to John tomorrow, I'm starting to confuse myself about the different types of input and output.