add power up/down handling