close and open ranges support added
fast enumeration replaces for loop
first commit