A lot of refactoring and trying to figure out the grid system