state pattern for folds
state pattern for folds
state pattern for folds