fix Message receive and push logic