add provider structure