final phase 1 changes using JSON