implemented data ref