Input and Output using interfaces