fill onMessage