initial work on the grid layout (many thanks to gridster.js)