optimize data layer