Added repository pattern and services