avoid namespace collisions
implement all messages except CUSTOM_MESSAGE