complete construct and deconstruct