extracting out a new method