Доработал calculate()