start rewrite, including reference-based classes and transparency around expressions