add funcs