add fucntion