document construction/destruction