added static method Calculate