add message handlers and web ui