simplify provider code
develop update