A number of improvements were made to ENIAC after 1947, including a primitive read-only stored programming mechanism using the function tables as program ROM, after which programming was done by setting the switches. The idea have been worked out in several variants by Richard Clippinger and his group, on the one hand, and the Goldstines, on the other, and it was included in the ENIAC patent. Clippinger consulted with von Neumann on what instruction set to implement. Clippinger had thought of a three-address architecture while von Neumann proposed a one-address architecture because it was simpler to implement. Three digits of one accumulator (#6) were used as the program counter, another accumulator (#15) was used as the main accumulator, a third accumulator (#8) was used as the address pointer for reading data from the function tables, and most of the other accumulators (1–5, 7, 9–14, 17–19) were used for data memory.