fold method