move serial check into tighter loop