change to use RawMessage