add additional funcs