add message handle logic