Added GUI libs + project structure change (MVC and polymorphism)