Final Refactor