added iterable interface. documentation