more tuning to data layer.  javascript updated to account for nulls instead of missing keys