Data Layer changes
Service Layer Changes
Cleaning up architecture