workaround for thread race condition
new message schema