Better following algorithm