context with lenses
functionality of proceed
minimal changes in main
Lenses