allowing exact recovery of the source data