v3.3 refine msg handler