added power node function