added new calculation method