First draft for interfaces
First draft for input and output