add lfold and apply