Refactor/canopy changes