Added iterator interface + start on exact matching lib