added three methods