add reference-counted box type