introduce fold concept.