All steps are working. In need of a refactoring.