TODO write power provider method!