use different approaches for check queue and gate queue