eliminate redundencies