Add I-O logic