input and output sections