grid class patern working, but abstraction method to pass service location is need