better separation between inputs and outputs and within inputs