User_Interface

Needs a little refactoring but it is a good start.