added iterator typedefs