messages should be camelCase