reduce data duplication
reuse data where possible