plumb through syntatic sugar for different principal creation options as flag "type"