add function define