use subscribes instead of notifies