Support internal ctor