add adaptive sampling