input and output testing