organized classes in DataLayer