added calculation method