implement deregister