message loop protocol fixed