add function g