add foldBy