PLL algorithms