redesign using json