add message API, done