input and output applications