implementing fast enumeration