moving private methods to their own header/category file so they can be tested.