refactored CalculatorViewController