Added Service Layer
Refactoring