elaboration of message api