Added sampling, and renamed weight() get_weight() to be consistent with get_count()