add combinations func