remove assignment along chaining,optimise reference storage,dont pass json