Refactor, add Repository Pattern.