inline constructor