hybrid algorithm