Current code generates combinations and substitutes. Next step is to find rules for selecting amongst the different possible combinations.