add function wrapper