hook up UI with backend