add msg handler