I have a contract currently in the chain and I want to add a feature. Do I need to make a brand new contract, or is there a better way? And if I have registered the contract with a name can I transfer it to the new contract?