Add gui and first architecture