finished overriding set method