decrease complexity lvl of combination generate method