have taken the calculation away from the widget and added testing for it
calculation tree first commit