added three new functions