add more repository methods and their implementation