more efficient pow