add degree smooth function