A car insurance contract covers exactly one vehicle. If a customer needs to buy insurance for multiple vehicles, then they need to sign multiple insurance contracts. Each contract refers to exactly one vehicle and exactly one customer. Additionally, a contract must specify a non-empty list of authorized drivers. The signing client may or may not be listed as a driver. Clients are identified by their social security numbers (SSN); if they are foreign visitors in the U.S. and don't have a social security number yet, then they are identified by their passport number. For each client, the database needs to track a non-empty list of credit cards, with the usual information: bank name, card number, and expiration date. Drivers are identified by their driver license (specifying both the license state and license number). The database must also track the driver's date of birth, age, and professional occupation. Vehicles are identified by their vehicle identification number (VIN) and are divided into two distinct classes: regular cars and recreational vehicles (RVs). For each RV, the database must log both its weight class and the number of wheels. For both regular cars and RVs, the database must specify make, model, and the year of production. Each insurance contract has a starting date and an expiration date. The former must precede the latter.