extracted input_output to sep module