fold and foldE