eliminate passing redundant data