add ui components, routing and basic socket communication