Building a Versatile Deduplication System