finished input and output header files