added notion of canopies, added sampler that uses them