added powersource method