update interface to iterator reference