Autonomous Self-replicating Code