added gui structure
added component structure