build all the possible list