add all fucntion