Introduce hierarchy for add/edit/base