<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_admin(cls, email, password, **kwargs):
 """ Create an approved 'global' administrator :param email: the user's email address :param password: the user's plain text password :returns: a User """

        data = {
            'email': email,
            'password': cls.hash_password(password),
            'has_agreed_to_terms': True,
            'state': State.approved,
            'role': cls.roles.administrator.value,
            'organisations': {}
        }
        data.update(**kwargs)

        user = cls(**data)
        yield user._save()

        raise Return(user)