add function edit