add new functions
add new functions