navigator implementation