refactor to make method more readable.
more of the same