now that we have tested itwe are prepared to create the rest of our combined subclassesclass apartmentrental(rentalapartment)def prompt_init()init apartment prompt_init(init update(rental prompt_init()return init prompt_init staticmethod(prompt_initclass apartmentpurchase(purchaseapartment)def prompt_init()init apartment prompt_init(init update(purchase prompt_init()return init prompt_init staticmethod(prompt_initclass housepurchase(purchasehouse)def prompt_init()init house prompt_init(init update(purchase prompt_init()return init prompt_init staticmethod(prompt_initthat should be the most intense designing out of our waynow all we have to do is create the agent classwhich is responsible for creating new listings and displaying existing ones let' start with the simpler storing and listing of propertiesclass agentdef __init__(self)self property_list [def display_properties(self)for property in self property_listproperty display(adding property will require first querying the type of property and whether property is for purchase or rental we can do this by displaying simple menu once this has been determinedwe can extract the correct subclass and prompt for all the details using the prompt_init hierarchy we've already developed sounds simpleit is let' start by adding dictionary class variable to the agent classtype_map ("house""rental")houserental("house""purchase")housepurchase