duplication removed(DRY)
duplication removed(DRY)