data needs to be an array