input and output OK