#36 protected impl constructors