clean code of msg handler