split MessageHanlder