Still working on abstracting the grid and making it more flexible