Separated layout from rendering