Create a more functional version, remove concept of grid