How to create a self-replicating autonomous AI