new layout, tests, fixed json