updated new functions