prevent duplication
refactoring