elementtreemodel overhaul