Remove data parameter
Added Provider spec
Remove BaseProvider