add function full