development: message protocol