First implementation of UserInterface + lot of other stuff