Data layer refectored.