feature: entity + descriptor