reworked layout and implemnted as JSON