add layout engine
optional grid and background rendering