add tap() sample