file deconstruction