diff --git a/contracts/AssociationRegistry.jsligo b/contracts/AssociationRegistry.jsligo
index 790aa9cd7a6c727e70e1b4e03156094f4622a300..2ad61f48a7809659fd552e2fd41c543b758de513 100644
--- a/contracts/AssociationRegistry.jsligo
+++ b/contracts/AssociationRegistry.jsligo
@@ -1,4 +1,3 @@
-
 type coordinate = {
   x: int;
   y: int;
@@ -28,8 +27,8 @@ const registrationFeeInitial: tez = 10 as tez;
 //Register a new DAO
 @entry
 function registerAssociation(newAssociation: association, storage: storage): return_ {
-  const existingAssociation = Big_map.find_opt(newAssociation.name, storage);
-  if (Option.is_some(existingAssociation)) {
+  const existingAssociation = Big_map.mem(newAssociation.name, storage);
+  if (existingAssociation) {
     failwith("Association already registered");
   }
   const updatedStorage: storage = Big_map.add(newAssociation.name, {
@@ -39,38 +38,47 @@ function registerAssociation(newAssociation: association, storage: storage): ret
 
 // Within the registerAssociation function
 const noOperations : list<operation> = list([]);
-
-
-
   const result: return_ = [noOperations, updatedStorage];
   return result;
 }
 
+
+
 //Change Admin
 @entry
-function changeAdmin(associationName, newAdmin, storage) {
-  const associationOpt = Big_map.find_opt(associationName, storage);
+function changeAdmin(associationName :string, newAdmin : address, stor: storage) {
+  const associationOpt = Big_map.find_opt(associationName, stor);
   if (Option.is_none(associationOpt)) {
-    failwith("Unknown association cannot change admin");
-  }
-
-  const association = Option.unopt(associationOpt, () => failwith("Failed to get association"));
+    failwith("Unknown association cannot change admin");}
+  const association = Option.unopt_with_error(associationOpt,"Failed to get association");
   //todo
-  if (Some(Tezos.get_sender()) != association.admin) {
+  const senderAddress = Tezos.get_sender();
+  if (!Option.is_some(association.admin) ||  senderAddress != Option.unopt(association.admin)) {
     failwith("Only the current admin can change the admin");
   }
-
   const updatedAssociation = {
     ...association,
     admin: Some(newAdmin)
+  }
+  const updatedStorage = Big_map.update(associationName, Some(updatedAssociation), stor);
+  
+  return [list([],updatedStorage)]
   };
+/*
+@entry
+const destroy = (planetName: string, stor: storage): return_ => {
+  const existingPlanet = Big_map.find_opt(planetName, stor);
+  const planet = Option.unopt_with_error(existingPlanet, "Unknown planet cannot be destroyed");
+  const senderAddress = Tezos.get_sender();
+  if (!Option.is_some(planet.lord) || !Tezos.address_equals(senderAddress, Option.unopt(planet.lord))) {
+    failwith("Only the lord of the planet can destroy it");
+  }
+  const updatedStorage = Big_map.remove(planetName, stor);
 
-  const updatedStorage = Big_map.update(associationName, Some(updatedAssociation), storage);
+  return [list([]), updatedStorage];
+};
+*/
 
-    const noOperations: list<operation> = [];
-   const result: return_ = [noOperations, updatedStorage];
-  return result;
-}
 
 //List associations
 @view