function [ret] = nav( Alat, Alng, Blat, Blng, iterations=10, printlevel=1 )
  if iterations==0
    %% This is the end of the recusion
    b=bearing( Alat, Alng, Blat, Blng );
    d=geodist( Alat, Alng, Blat, Blng );
    
    switch( printlevel )
      case 0
	%% 
      case 1
	%%
      case 2
	printf( "ht\n", b );
      case 3
	printf( "new google.maps.LatLng(%f, %f)\n", Alat, Alng);
    endswitch
    return;
  else
    
    b=bearing( Alat, Alng, Blat, Blng );
    d=geodist( Alat, Alng, Blat, Blng );
    d/=iterations;
    newcoords = fwd( Alat, Alng, b, d );
    newLat= newcoords(1);
    newLng= newcoords(2);
    switch( printlevel )
      case 0
	%% 
      case 1
	printf( "[from]: %f %f\t[dist]: %d miles\t[head]: %d°\t[to]: %f %f\n", Alat, Alng, d,b,newLat,newLng );
      case 2
	printf( "seth %i fd %f\n", b, d/10 );
      case 3
	printf( "new google.maps.LatLng(%f, %f),\n", Alat, Alng);
    endswitch
    nav( newLat, newLng, Blat, Blng, iterations-1, printlevel );    
  endif
endfunction
