Fixed TODOs
We add Input and Output classes to communicate with the user