work on the subscription mechanism