input/output generator