How does genetic engineering rely on a shared genetic code?