Add provider and trait