- work in progress
- replaced when() with again-flag
- refactoring
- introduced not-flag (work in progress)