Turing and others proposed mathematical models for computing which allowed for the study of algorithms and in absence of any particular computer hardware. This abstraction has proved invaluable in the field of computer science. Turing's model is called a Turing machine. The design of the Turing machine is the following: The machine consists of an infinite tape divided into cells, each cell can contain a 1, 0, or blank. Additionally a head moves about the tape, reads and writes to the cells, may halt computation, and maintains an internal state which determines what action the head will take next. (Steane)