only call pow once