added program counter
added more CPU implementation details