backbone fill algorithm