add bak func