add add function
add sub funciton