first cut at building the list difference tree