refactor the project to add a parent that defines all inherited properties and behavior