fix an issue of L turning into T when it goes down
use GridService instead of this.
optimize function to get out when it find it is not ok.