     
     func setOperand(operand: Double) {
         accumulator = operand
-        description += String(operand)
+//        description += String(operand)
+        descriptionCollection.append(String(operand))
+        
         internalProgram.append(operand as AnyObject)
     }
     
     func setOperand(variableName: String) {
         result = variableValues[variableName]
-        description += String(variableName)
+//        description += String(variableName)
+        descriptionCollection.append(String(variableName))
         internalProgram.append(variableName as AnyObject)
     }
     

    func performOperation(symbol: String) {
        internalProgram.append(symbol as AnyObject)
        
        description += symbol
        
        if let operation = operations[symbol] {
            switch operation {
            case .Constant(let value):

    private var internalProgram = [AnyObject]()
    var variableValues = [String: Double]()
    
    var descriptionCollection = [String]()
    
    
    var result: Double? {
        get {
            return accumulator
