ripped out classic position iterator adaptor