algorithm-specific approach