diff --git a/CHANGELOG.md b/CHANGELOG.md
index cab46c1..eafba89 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com),
 and this project adheres to [Semantic Versioning](https://semver.org).
 
+
+## [3.7.0] - 2023-10-18
+### Added
+- Added support to pass in a path when calling get_files(), resolves issue #34
+
 ## [3.6.0] - 2023-10-06
 ### Fix
 - Fetch repo content from target branch
diff --git a/gordian/repo.py b/gordian/repo.py
index ae72642..0c53a0b 100644
--- a/gordian/repo.py
+++ b/gordian/repo.py
@@ -77,9 +77,9 @@ class Repo:
 
         return PlainTextFile(file, self)
 
-    def get_files(self):
+    def get_files(self, path=''):
         if not self.files:
-            contents = self._get_repo_contents('')
+            contents = self._get_repo_contents(path)
 
             while contents:
                 file = contents.pop(0)

diff --git a/tests/test_repo.py b/tests/test_repo.py
index 4398ec0..a341ea1 100644
--- a/tests/test_repo.py
+++ b/tests/test_repo.py
@@ -191,6 +191,16 @@ class TestRepo(unittest.TestCase):
         repo._source_repo.delete_file.assert_called_once()
         self.assertTrue(repo.dirty)
 
+    def test_get_files_with_path(self):
+        self.repo._set_target_branch('target')
+        self.repo.files = []
+        self.repo._source_repo = MagicMock()
+        repository_file = MagicMock(path='test/afile.txt', type='not_dir')
+        self.repo._source_repo.get_contents.side_effect = [[MagicMock(path='directory', type='dir')],[repository_file]]
+        self.repo.get_files('test')
+        self.repo._source_repo.get_contents.assert_has_calls([call('test', 'target'), call('directory', 'target')])
+        self.assertEquals(self.repo.files, [repository_file])
+
     def test__get_github_client(self):
         repo = Repo('test_repo', branch='', github=self.mock_git)
 

Fetching of all files
It appears gordian is fetching all the files of a repo even if you only need 1.
tests/test_repo.py::TestRepo::test_get_files_with_path
tests/test_repo.py::TestRepo::test__get_github_client tests/test_repo.py::TestRepo::test_create_file tests/test_repo.py::TestRepo::test_create_pr tests/test_repo.py::TestRepo::test_create_pr_no_labels tests/test_repo.py::TestRepo::test_default_github_url tests/test_repo.py::TestRepo::test_delete_file tests/test_repo.py::TestRepo::test_fork tests/test_repo.py::TestRepo::test_get_existing_object tests/test_repo.py::TestRepo::test_get_files tests/test_repo.py::TestRepo::test_get_new_version_major tests/test_repo.py::TestRepo::test_get_new_version_minor tests/test_repo.py::TestRepo::test_get_new_version_patch tests/test_repo.py::TestRepo::test_get_object_does_not_exist tests/test_repo.py::TestRepo::test_init_with_passed_token tests/test_repo.py::TestRepo::test_init_with_token_from_env tests/test_repo.py::TestRepo::test_init_with_user_pass_env tests/test_repo.py::TestRepo::test_make_branch_fork tests/test_repo.py::TestRepo::test_make_branch_no_fork tests/test_repo.py::TestRepo::test_new_files_object tests/test_repo.py::TestRepo::test_no_fork tests/test_repo.py::TestRepo::test_override_github_url tests/test_repo.py::TestRepo::test_remove_dot_git_from_repo_name tests/test_repo.py::TestRepo::test_set_target_branch tests/test_repo.py::TestRepo::test_set_target_branch_reset_file_cache tests/test_repo.py::TestRepo::test_set_target_branch_source_branch