data now passed as a collection of key value pairs