create core version of iterator