Remove provider add only interfaces
Add $underscore options for naming
Add more tests