Before functional shoe reset
Add simple approach to functional shoe
A more purely functional version