add functions

add functions