public class MortgageCompany
{
// PROPERTIES of a mortgage lender
double CashOnHand = 0;
double LoanedMoney = 0;
double InterestProfit = 0;
double Debt = 0; // 1 million

int HealthyMortgages = 0;
int RiskyMortgages = 0;
int FailedMortgages = 0;

// calculated values
int NumberOfMortgages = 0;
double AverageMortgage = 0;
double ForeclosedProperties = 0;
double PresentHealth = 0;
double PredictedHealth = 0;

// BEHAVIORS
// needed for construction
public MortgageCompany(double InitialCash, double InitialLoans, 
                                         double InitialProfit, double InitialDebt )
{
CashOnHand = InitialCash;
LoanedMoney = InitialLoans;
InterestProfit = InitialProfit;
Debt = InitialDebt;
} 

//this behavior calculates the current and predicted health of a mortgage company
public void CalculateHealth( )
   {
   NumberOfMortgages = HealthyMortgages + RiskyMortgages + FailedMortgages;
   AverageMortgage = LoanedMoney / (double)NumberOfMortgages;
   ForeclosedProperties = (double)FailedMortgages * AverageMortgage;
   PresentHealth = CashOnHand + LoanedMoney + InterestProfit - ForeclosedProperties - Debt;
   PredictedHealth = PresentHealth - ((double)RiskyMortgages * AverageMortgage);
   } // end method

//this behavior adjusts the number and amount of each mortgage type
public void AdjustMortgages( int Healthy, int Failed, int Risky )
   {
   HealthyMortgages = Healthy;
   FailedMortgages = Failed;
   RiskyMortgages = Risky; 
   } // end method

} // end class