Implemented Repository pattern and Unit of work.