hide mongodb behind IRepository interface