refactored grid down to 5 methods