Final Commit before full code refactor