inline is not necessary