
GITNUXSOFTWARE ADVICE
Art DesignTop 10 Best 2D Model Software of 2026
Top 10 ranking of 2D Model Software for artists and designers, with comparisons of Photoshop, Affinity Photo, Krita, and other tools.
How we ranked these tools
Core product claims cross-referenced against official documentation, changelogs, and independent technical reviews.
Analyzed video reviews and hundreds of written evaluations to capture real-world user experiences with each tool.
AI persona simulations modeled how different user types would experience each tool across common use cases and workflows.
Final rankings reviewed and approved by our editorial team with authority to override AI-generated scores based on domain expertise.
Score: Features 40% · Ease 30% · Value 30%
Gitnux may earn a commission through links on this page — this does not influence rankings. Editorial policy
Editor’s top 3 picks
Three quick recommendations before you dive into the full comparison below — each one leads on a different dimension.
Adobe Photoshop
Photoshop scripting and Actions can programmatically apply edits to layers and export batches.
Built for fits when teams need scripted, layer-structured raster edits with Adobe ecosystem integration..
Affinity Photo
Editor pickLayer, mask, and adjustment stack with non-destructive edits and precise color managed output.
Built for fits when teams need editable 2D asset production with repeatable actions and controlled export..
Krita
Editor pickPython scripting for automating brushes, commands, and export pipelines within Krita.
Built for fits when teams need local 2D automation and extensibility without enterprise governance requirements..
Related reading
Comparison Table
This comparison table evaluates top 2D model and image production tools by integration depth, data model, and their automation and API surface for scripting and batch workflows. It also covers admin and governance controls such as RBAC, audit log coverage, and provisioning options, plus how each product supports configuration, extensibility, and sandboxing for safer deployments. Photoshop, Affinity Photo, Krita, GIMP, and CorelDRAW are included to show concrete tradeoffs across schema design, API extensibility, and throughput.
Adobe Photoshop
industry-standardCreates and edits raster and layer-based 2D artwork with extensive brushes, selections, and export workflows.
Photoshop scripting and Actions can programmatically apply edits to layers and export batches.
Photoshop’s document data model is built around layers, layer groups, masks, adjustment layers, and artboards, which supports repeatable edits and structured output variants. It also supports metadata in PSD documents and exports through established formats like PNG, JPEG, TIFF, and layered formats for downstream processing. Integration depth is strongest inside Adobe Creative Cloud, where asset exchange and collaboration features connect to the same account and cloud workspace.
Automation relies on scripting and repeatable actions to generate consistent edits, such as batch reformatting, layer renaming, and applying saved adjustment configurations. A tradeoff is that the automation surface is not framed as an external REST API for provisioning and remote execution, so enterprise orchestration usually depends on local scripting runners and Creative Cloud workflow integration. A good usage situation is a production team that needs controlled raster edits with consistent layer structures before exporting marketing assets.
- +Layer and adjustment data model supports repeatable visual edits across variants
- +Scripting and actions enable deterministic batch operations on documents
- +Creative Cloud integration simplifies asset sharing within the same identity
- +Extensive import and export format coverage supports downstream pipelines
- –Automation focuses on scripting and local execution, not external API-driven provisioning
- –Enterprise governance relies more on Creative Cloud admin controls than app-level schemas
- –Document-centric model can require strict layer conventions for automation reliability
Best for: Fits when teams need scripted, layer-structured raster edits with Adobe ecosystem integration.
More related reading
Affinity Photo
one-time purchaseEdits and paints 2D images with a non-destructive workflow and tools for retouching, compositing, and export.
Layer, mask, and adjustment stack with non-destructive edits and precise color managed output.
Affinity Photo targets 2D model and asset work where layered composition, masking, and precise pixel retouching must stay editable across revisions. Its core data model keeps edits organized through layers, adjustment layers, and masks, which supports consistent iteration without flattening. Color management tools help maintain predictable rendering across exported assets that feed downstream pipelines.
A tradeoff appears in extensibility and integration depth. Automation and API surface do not reach the level of external system control seen in model management tools, so enterprise-wide schema provisioning and RBAC-driven workflows are not the center of the product design. It fits teams that need high-fidelity local asset production with repeatable edit sequences more than it fits environments requiring controlled provisioning, audit log retention, and external automation through a public API.
- +Non-destructive layer, mask, and adjustment workflows
- +Consistent color management for predictable export output
- +Macro-style action workflows for repeatable edit sequences
- –Limited external API for integration, automation, and extensibility
- –No RBAC-style governance or admin audit log controls
- –Automation depth is mostly local to documents and actions
Best for: Fits when teams need editable 2D asset production with repeatable actions and controlled export.
Krita
open-source paintingCreates 2D illustrations with a free painting suite, customizable brushes, layers, and animation support.
Python scripting for automating brushes, commands, and export pipelines within Krita.
Krita centers on a layered document data model with paint layers, vector shapes, and non-destructive masks that preserve editability across iterations. It exposes automation via its Python scripting interface and supports extensibility through plugins that add commands, filters, and tools into the UI command graph. Integration depth into external pipelines depends on file-based interchange like PSD and common raster formats plus any custom scripts that target studio folder structures. The automation and API surface is usable for repeatable tasks like batch generation, custom import or export logic, and tool automation inside the Krita session.
A key tradeoff is that Krita governance features do not cover multi-user administration, because there is no in-app RBAC model, audit log, or server-side sandbox for untrusted scripts. This makes centralized compliance controls difficult for studios that need controlled execution across a fleet of artists. Krita fits best when individual artists or small teams want local automation for canvas generation and repeatable exports, or when technical artists need to script brush setup and export conventions in a controlled desktop environment.
- +Layer and mask document model keeps edits non-destructive through iterations
- +Python scripting supports repeatable commands and custom export workflows
- +Plugin architecture adds tools, filters, and command integrations into the UI
- +PSD compatibility supports interchange with common 2D pipeline assets
- –No centralized RBAC, audit log, or admin provisioning controls for teams
- –Automation runs in a desktop context with limited governance for untrusted code
- –API coverage is centered on Krita internals, not external studio systems
Best for: Fits when teams need local 2D automation and extensibility without enterprise governance requirements.
GIMP
open-source editorEdits 2D images with layers, selections, and a plugin ecosystem for raster art and lightweight compositing.
Python scripting and command line batch processing for deterministic 2D raster pipeline automation.
GIMP provides a mature 2D raster workflow for artists who need repeatable image editing without a proprietary lock-in. It supports scripted automation through Python and non-interactive batch processing, which helps standardize exports and layer operations.
The data model is image, layer, channel, and selection centric, with file I O formats that preserve layers in common workflows. Extensibility comes from plugin and script hooks, but it lacks enterprise grade governance features like RBAC and audit logs.
- +Python scripting enables repeatable batch exports and layer transformations
- +Layer and channel data model supports non destructive editing workflows
- +Plugin architecture extends filters and import export formats
- +Command line batch mode supports throughput for large asset sets
- –No RBAC or workspace permissions for admin governance
- –Limited API surface beyond scripting and plugins for external automation
- –Project data model is raster focused, not a structured vector schema
- –Collaboration requires external versioning and manual conflict handling
Best for: Fits when teams need controllable 2D raster automation and extensibility without enterprise governance controls.
CorelDRAW
vector designDesigns 2D vector artwork with drawing, typography, and export tools for print and screen.
Macro automation for repetitive vector edits and export batches within the desktop app.
CorelDRAW provides a full 2D vector design workflow with page layout, typography, and production-ready export for downstream graphics pipelines. Its integration depth is mainly file-based through open interchange formats like SVG, PDF, and common raster outputs, with extensibility via automation built around macros and add-ins.
The data model centers on vector objects, layers, and document styles that map to exported artifacts like SVG and PDF, with configuration driven through document templates and reusable assets. Automation and API surface are narrower than design-time SDK platforms, so governance focuses on project and file workflow controls rather than RBAC, provisioning, or audit log features.
- +Object-based vector model with layers and reusable styles
- +Exports to SVG and PDF with production-oriented output controls
- +Macro and add-in automation for repeatable design tasks
- +Template-based document setup supports consistent standards
- –Limited API and external integration for schema-driven workflows
- –Governance features like RBAC and audit logs are not design-focused
- –Automation is more desktop-centric than server orchestration
- –Bulk and high-throughput rendering automation needs scripting work
Best for: Fits when teams need repeatable 2D vector production with desktop automation and export interoperability.
Inkscape
open-source vectorBuilds and edits 2D vector graphics with SVG-native workflows and precision drawing tools.
SVG document object model with extension hooks for custom import, export, and editing logic.
Inkscape fits when teams need deterministic 2D vector authoring with scriptable SVG-based interchange. Its data model centers on SVG elements like paths, shapes, groups, and styles, which simplifies round-trip with CAD drawings and web graphics.
Automation is primarily delivered through command-line batch exports and extension points for custom behaviors, with extensibility anchored to the SVG document structure. Integration depth is strongest for workflows that already use SVG and rely on export pipelines rather than server-side APIs.
- +SVG-native data model with predictable element-level editing and export
- +CLI supports batch conversion for automated throughput in asset pipelines
- +Extension system enables custom import filters and export generators
- +Works with common vector interchange formats like SVG and PDF
- –No server-side API or RBAC model for shared admin governance
- –Automation surface is mostly local tooling and document transforms
- –Schema evolution across plugins can break custom scripts and extensions
- –Collaboration requires external versioning since projects remain file-based
Best for: Fits when teams need repeatable 2D vector production and automated SVG export, not shared admin controls.
Blender
multi-purpose 2D/3DCreates 2D-style artwork using Grease Pencil for layered drawing, animation, and rendering.
bpy Python API for full scene, rendering, and compositing automation.
Blender focuses on a scriptable, extensible 3D toolset that can serve as a 2D model generator through camera, render, and UV-to-texture workflows. Its data model is built around scenes, node trees, meshes, materials, and animation datablocks, which can be created and transformed via Python.
The automation surface is exposed through the bpy API, including import, procedural modeling, render settings, and batch execution. Integration depth is strongest for pipeline control because core operations run headless, while governance controls rely on filesystem permissions and external orchestration rather than built-in RBAC.
- +Python bpy API supports procedural modeling and deterministic scene generation
- +Headless execution supports batch rendering and CI pipeline workflows
- +Node-based material and compositor graphs enable programmable texture and output stages
- +Rich import and export options fit mixed asset pipelines
- –No native RBAC or org governance controls for teams using shared assets
- –Core data model and scene graphs require pipeline conventions to stay consistent
- –Automation relies on Python scripts, increasing maintenance for non-developers
- –Audit logging and approvals are not built into Blender itself
Best for: Fits when teams need scripted 2D outputs driven by a controllable scene data model.
Clip Studio Paint
comic illustrationIllustrates and inks 2D art with brush tools, layers, perspective aids, and comic page workflows.
Layer-based document editing with support for custom brushes and materials.
Clip Studio Paint targets 2D illustration and animation production with a project file and layered asset workflow that editors can integrate into established content pipelines. Its automation surface is limited compared with model-authoring tools that expose scripting, webhooks, or full programmatic asset publishing.
Extensibility mainly comes from bundled brushes, materials, and supported asset import and export formats rather than an external schema-first data model. Administrative governance features like RBAC, audit logs, and provisioning controls are not exposed as primary controls for teams.
- +Layered document model keeps complex artwork editable across iterations
- +Asset workflow supports sharing and reuse through Clip Studio assets
- +Export formats cover common 2D deliverables for downstream pipelines
- +Extensible brushes and materials support consistent drawing behaviors
- –Automation and API surface for model operations is minimal
- –No documented RBAC controls for team access management
- –No audit log or provisioning workflow for governed environments
- –Automation cannot reliably standardize asset metadata at scale
Best for: Fits when small teams need repeatable 2D production with limited automation requirements.
Adobe Illustrator
vector designCreates and edits 2D vector artwork with pen tools, typography controls, and scalable export outputs.
Extendable Illustrator scripting and plug-in architecture for repeatable export and transformation tasks.
Adobe Illustrator is used to create and edit 2D vector artwork for production files like logos, icons, and diagram components. File exchange centers on the SVG, PDF, and AI formats, plus asset pipelines that support export presets and controlled layer naming.
Automation relies on Illustrator scripting and its extensibility for batch generation, though governance features like RBAC, provisioning, and audit logs are not exposed as an enterprise administration surface. Integration depth is mainly tied to Adobe’s creative toolchain rather than a dedicated 2D model data model with schema-driven APIs.
- +Vector editing with precise control over paths, strokes, and typography
- +Export to SVG and PDF with configurable document and artboard settings
- +Scripting and plug-in extensibility support repeatable asset generation
- +Layer and group structures map well to downstream illustration workflows
- –No schema-first 2D model data model for controlled programmatic edits
- –Limited outward API surface for automated integration beyond scripting
- –Enterprise governance controls like RBAC and audit logs are not productized
- –Collaboration workflows depend more on creative tooling than model management
Best for: Fits when teams need automated 2D vector asset production within creative tooling workflows.
Procreate
mobile illustrationPaints and draws 2D illustrations on iPad with gesture controls, layered canvases, and export for sharing.
Brush engine that maps pen pressure and tilt to stroke behavior.
Procreate fits artists who need high-throughput 2D sketching, painting, and illustration on-device with tight pen-to-canvas latency. Its data model is file-based with layered canvases and exports for downstream tools, rather than an API-first asset system.
Automation and integration are mostly manual, because Procreate exposes limited public API surface and few configuration primitives for external systems. Admin and governance are minimal since there is no documented RBAC, provisioning, or audit logging layer for teams.
- +Layered canvas workflow with fast gesture-driven editing
- +High-fidelity brushes designed for pressure and tilt inputs
- +File export options support handoff to desktop and web tools
- +Offline-first usage reduces dependency on external services
- –Limited documented API prevents deep automation and integration
- –No RBAC, provisioning, or audit log for team governance
- –Projects rely on local files instead of a managed asset schema
- –Automation requires manual export and re-import between tools
Best for: Fits when solo artists or small teams need local 2D creation, not governed integrations.
Conclusion
After evaluating 10 art design, Adobe Photoshop stands out as our overall top pick — it scored highest across our combined criteria of features, ease of use, and value, which is why it sits at #1 in the rankings above.
Use the comparison table and detailed reviews above to validate the fit against your own requirements before committing to a tool.
How to Choose the Right 2D Model Software
This guide covers 2D model software choices across raster and vector workflows with tools like Adobe Photoshop, Affinity Photo, and Krita. It also compares vector and automation-centric options like CorelDRAW, Inkscape, and Adobe Illustrator.
The guide adds pipeline automation depth with Blender, raster batch automation with GIMP, and production-focused 2D illustration tooling with Clip Studio Paint and Procreate. Each section maps evaluation criteria to concrete integration, data model behavior, automation surfaces, and governance controls.
2D model software for production assets, not just drawing
2D model software creates and edits structured art documents that contain layers, masks, shapes, or SVG elements so edits can be repeated across variants and exported consistently. Teams use these tools to standardize asset creation, maintain non-destructive edit histories, and generate downstream outputs like SVG, PDF, or raster exports.
Adobe Photoshop and Affinity Photo both center on layered document data models for repeatable raster edits and controlled export. Inkscape and Adobe Illustrator center on vector object models that keep path, group, and style structures exportable into SVG and PDF.
Evaluation criteria for integration, automation, and governed edit repeatability
Selection should start with the data model because layer stacks and SVG element structures determine what automation can reliably modify. Adobe Photoshop, Affinity Photo, Krita, and GIMP all treat non-destructive layer and mask data as the unit of repeatable edits.
Integration depth and automation and API surface determine whether edits can be provisioned and executed as part of a larger pipeline. Governance controls matter when access needs RBAC-style permissions and audit log trails, which most desktop-first tools do not expose.
Document or scene data model that automation can target
Adobe Photoshop uses a document-centric model with layers, masks, and adjustment layers that scripting and Actions can apply repeatedly for batch variants. Blender uses scene graphs and datablocks that the bpy API can generate and transform headlessly for deterministic 2D-style outputs.
Non-destructive layer and mask workflow for repeatable variants
Affinity Photo keeps a layer, mask, and adjustment stack so export outcomes remain consistent across iterations. Krita and GIMP store editable layer and channel structures so scripted commands and batch processing can preserve non-destructive intent.
Programmable automation surface with batch throughput options
Photoshop scripting and Actions can programmatically apply edits to layers and export batches for pipeline handoffs. GIMP adds Python scripting plus command line batch mode for deterministic raster transformations at higher throughput.
API and extensibility shape for integration depth
Blender exposes the bpy API for scripted import, procedural scene generation, render settings, and batch execution. Krita provides Python scripting and a plugin architecture that injects brushes, filters, and command integrations into the UI.
Export interoperability for downstream pipelines
Inkscape uses an SVG-native document object model that pairs with extension hooks for custom import and export generators. CorelDRAW and Adobe Illustrator focus on production-ready exports to SVG and PDF with vector structures mapped to exported artifacts.
Admin and governance controls for team access and change traceability
Most desktop tools lack centralized RBAC-style controls and audit logs, including Affinity Photo, Krita, GIMP, Inkscape, Clip Studio Paint, and Procreate. Photoshop relies more on Creative Cloud admin controls than app-level schemas, so governance depth depends on the broader identity and administration setup.
Pick the right 2D model tool by aligning schema control, automation, and governance
Start by mapping the target asset type to the data model, because scripts and extensions can only modify structures the model exposes. Photoshop and Affinity Photo fit raster assets that rely on layers and adjustment stacks, while Inkscape and Adobe Illustrator fit SVG and PDF-centric vector components.
Next, match automation and API surface to the pipeline needs, because some tools support deterministic batch operations through scripting while others keep automation local to documents. Finally, confirm governance requirements like RBAC and audit log trails, because most desktop-first tools do not include those features in-product.
Choose raster versus vector based on the model you need to automate
Teams that need to script edits to layer stacks should shortlist Adobe Photoshop, Affinity Photo, Krita, and GIMP since each centers on layered document structures and non-destructive editing. Teams that need element-level control over SVG paths, groups, and styles should shortlist Inkscape and Adobe Illustrator since automation and extensions attach to SVG element structure.
Validate the automation and batch execution path
Adobe Photoshop supports deterministic batch workflows through scripting and Actions that can apply edits to layers and export batches. GIMP adds Python scripting plus command line batch processing, while Blender adds headless execution so CI and pipeline steps can run without a UI.
Assess integration depth through the tool’s real extension surface
Blender’s bpy API enables pipeline integration by scripting scene generation, procedural outputs, and render settings. Krita’s Python scripting and plugin architecture extend commands and UI behaviors, while Inkscape’s SVG extension points attach to import and export behavior.
Plan governance around the controls the app actually provides
If RBAC-style permissions and audit log trails are required inside the creative tool, most options fall short, including Affinity Photo, Krita, GIMP, Inkscape, Clip Studio Paint, and Procreate. Photoshop is the notable exception because governance is routed through Creative Cloud administration rather than a dedicated in-app RBAC model.
Check whether export structures preserve the data you automate
Vector-centric workflows should prioritize Inkscape, CorelDRAW, and Adobe Illustrator because their models map to SVG and PDF outputs with configurable layer and style structures. Raster-centric workflows should prioritize Photoshop, Affinity Photo, and Krita because layer and mask models support repeatable export results.
Which teams benefit from specific 2D model tool mechanics
Different tools optimize different parts of the same pipeline, like layer-structured raster editing, SVG element determinism, or headless scene generation. The right fit depends on how edits must be repeated and how much automation must be externalized.
Teams running scripted raster pipelines inside a wider creative stack
Adobe Photoshop fits teams that need scripting and Actions to apply edits to layers and export batches with Creative Cloud integration for asset sharing. This aligns with layer and adjustment data model repeatability across variants.
Teams that need non-destructive raster editing with repeatable actions and color-managed export
Affinity Photo fits teams that standardize exports through macro-style action workflows rather than external API-driven provisioning. Its layer, mask, and adjustment stack supports controlled color-managed output for consistent downstream assets.
Teams that need local desktop extensibility without centralized RBAC or audit logging requirements
Krita and GIMP fit teams that rely on Python scripting and batch processing for deterministic exports while accepting that centralized governance controls are not built in. Krita adds a plugin architecture for UI integrations, while GIMP adds command line throughput for large raster sets.
Design teams producing SVG and PDF components with deterministic vector structures
Inkscape fits teams that need an SVG-native data model with extension hooks for custom import and export behaviors. CorelDRAW and Adobe Illustrator fit teams that need repeatable macro or scripting-based vector asset generation with production export to SVG and PDF.
Pipeline teams that treat 2D output as a scripted generation task
Blender fits teams that automate 2D-style outputs by generating scenes and running headless batch execution through the bpy API. This supports pipeline control when the source of truth is a scriptable scene graph rather than manual document editing.
Pitfalls when evaluating 2D model software for automation and governance
Common missteps come from assuming that any tool with layers also supports the automation and governance controls needed by pipelines. Other missteps come from treating file export as the only integration point when the real constraint is the tool’s underlying data model and extension surface.
Choosing a tool that cannot target the same structures your automation needs
Affinity Photo and Photoshop support layer and adjustment automation, while Inkscape and Adobe Illustrator require vector element structures like SVG paths and groups for deterministic edits. Selecting a raster-first tool for an SVG element pipeline breaks repeatability because the automation cannot address the vector model.
Overestimating external API-driven provisioning and RBAC-style governance
Krita, GIMP, Inkscape, Clip Studio Paint, and Procreate lack centralized RBAC and audit log controls for governed environments because they operate as desktop applications. Photoshop can rely on Creative Cloud administration for governance, but it does not provide app-level RBAC schemas as a first-class in-tool model.
Assuming batch processing exists without checking the execution path
GIMP supports command line batch mode for deterministic throughput, while Photoshop relies on scripting and Actions for batch export workflows. Blender adds headless execution for CI-style batch execution, which desktop UI-only workflows cannot replicate reliably.
Forgetting that export settings must preserve the model structures you automate
Inkscape’s extension hooks attach to SVG document structure, while CorelDRAW and Adobe Illustrator map vector layers and styles to exported artifacts like SVG and PDF. Tools that only export pixels can lose the structured information your downstream pipeline expects for variant regeneration.
How We Selected and Ranked These Tools
We evaluated Adobe Photoshop, Affinity Photo, Krita, GIMP, CorelDRAW, Inkscape, Blender, Clip Studio Paint, Adobe Illustrator, and Procreate on features, ease of use, and value, then produced an overall rating as a weighted average where features carries the most weight while ease of use and value each contribute substantially. Features scoring emphasized the presence of concrete automation and extensibility surfaces like Photoshop scripting and Actions, GIMP Python plus command line batch mode, Inkscape SVG extension hooks, and Blender bpy headless automation.
Ease of use and value scoring then reflected how directly each tool’s data model supports repeatable work, including layer and mask workflows in Affinity Photo and Krita and SVG-native object models in Inkscape. Photoshop stands apart with the ability to programmatically apply edits to layers and export batches through scripting and Actions, and that capability lifted it through the features factor by making pipeline automation deterministic.
Frequently Asked Questions About 2D Model Software
Which tool matches a layer-based non-destructive 2D raster workflow with automation?
For repeating edits across complex 2D assets, how do Photoshop and Affinity Photo differ?
Which option is better when an enterprise team needs SSO, RBAC, and audit logging for 2D design assets?
Can Krita or GIMP integrate into an automated export pipeline using scripting?
What integration approach works best for vector interchange when teams need SVG and PDF round-trips?
When a workflow needs scriptable SVG generation, which tool reduces manual steps most?
Which tool is designed for a controllable scene data model that outputs 2D results through automation?
How should teams migrate existing layered raster documents into Photoshop, GIMP, or Affinity Photo?
Which tool is better for typography and diagram-ready vector production with repeatable exports?
Why might Procreate be a poor fit for API-driven integrations compared with Photoshop or Blender?
Tools reviewed
Primary sources checked during evaluation.
Referenced in the comparison table and product reviews above.
Keep exploring
Comparing two specific tools?
Software Alternatives
See head-to-head software comparisons with feature breakdowns, pricing, and our recommendation for each use case.
Explore software alternatives→In this category
Art Design alternatives
See side-by-side comparisons of art design tools and pick the right one for your stack.
Compare art design tools→FOR SOFTWARE VENDORS
Not on this list? Let’s fix that.
Our best-of pages are how many teams discover and compare tools in this space. If you think your product belongs in this lineup, we’d like to hear from you—we’ll walk you through fit and what an editorial entry looks like.
Apply for a ListingWHAT THIS INCLUDES
Where buyers compare
Readers come to these pages to shortlist software—your product shows up in that moment, not in a random sidebar.
Editorial write-up
We describe your product in our own words and check the facts before anything goes live.
On-page brand presence
You appear in the roundup the same way as other tools we cover: name, positioning, and a clear next step for readers who want to learn more.
Kept up to date
We refresh lists on a regular rhythm so the category page stays useful as products and pricing change.
