playing with iterators and enumerators
added tests for enumerators and fix minor issue
rework code to use work with non-oop style
messing with some example cases