public CalculatedBenefits Calculate(Employee employee)
        {
            decimal costOfBenefits = _settings.GetDefaultBenefitsAnnualCost();
            int percentage = _settings.GetDiscountPercentage();

            // if dependents, additional benefits cost will be incurred - recalc
            if(employee.Dependents.Count > 0) {}
                costOfBenefits = RecalculateCostForDependents(costOfBenefits, employee);
            
            if(IsEligibleForDiscount(employee))
                costOfBenefits = RecalculateCostWithDiscount(costOfBenefits, percentage, employee);

            decimal costPerPayPeriod = costOfBenefits / employee.GrossPayPerPeriod;
            
            CalculatedBenefits calculatedBenefits = new CalculatedBenefits(costOfBenefits, costPerPayPeriod, percentage);
            
            return calculatedBenefits;
        }