abstracted the phrase functions to its own object