wrap method