Moved GDS to use interfaces for easy mocking