added iterator mixin