updated message protocol