eliminate redundancy