Seperation of input and output.