first pass at sampleOn