IVP-13 Implemented repository pattern