factorization of redundant data and reworking