reduce duplication