fix private protected constructor havebox issue