first cut at message ui