now return whole message object instead of message body
fix some bug
modify document