added directSum() method