all data has basic implementation