Generic reposity implemented which is capable of being used across multiple contexts i.e. if i want to connect to two diffrent databases minimal effort will be required