copperhead added
refactoring out common code