refactoring: more leapfrog; more efficeint context enumeration; renaming&extraction