add sampling method