Towards a Self-Replicating Turing Machine