Registers
Need to choose inputs: hold or parallel load
Use 2-1 MUX
Hold: need to keep value constant
D flip-flop sets Q to value of D
feed Q back to 0 input of MUX