 In the early 19th century, mathematical tables were created by hand for such purposes as navigating ships. To produce them faster and remove human error, British scientist Charles Babbage invented a mechanical difference engine. Remarkably, his next project was an all-purpose programmable computer called the Analytical Engine, described in 1837. Babbage was helped by Ada Lovelace, daughter of Lord Byron. In 1843 she published an algorithm for the machine, in effect the world's first computer program. The Analytical Engine was never finished. It was a century later when modern computer theory began with a paper by a British mathematician Alan Turing in 1936. During World War II Turing worked at Bletchley Park in England, the headquarters of efforts to decipher enemy coded messages. One target was Enigma, a machine that sent orders in code to German submarines. Turing designed several ways to speed up the decoding work. He also introduced the engineer Tommy Flowers, who built Colossus, the world's first programmable digital electronic computer. It began operating in 1944. There were no stored programs and the wiring had to be altered for each new task. Colossus was not a general-purpose computer. The first of these was completed in the United States in 1946 and called ENIAC. As in the British computer, vacuum tubes performed the calculations. ENIAC was designed by John Morkley and J. Prespa Eckert and consisted of modules to perform different functions. But it still needed manual rewiring for new pieces of work. Altogether it was an enormous machine covering more than 150 square meters.