1st Implementation of the user interface, mostly commented.