separated input and output data