redundant code can be reduced.