init finish add function