Step one refactor.
Step Two Refactor.