refactoring
folding scenarios