diff --git a/CHANGELOG.md b/CHANGELOG.md
index bcb47d7..a07de52 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,14 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
-## [0.6.1] - 2020-05-28
+## [0.6.3] - 2020-05-29
+### Changed
+- Improved `GCloudStorage.get_storage_complete_file_path` using `os.path.join`.
+- `file_name` is optional in `GCloudStorage.get_storage_complete_file_path`.
+### Fixed
+- Now `GCloudStorage.list_blobs` can use the BUCKET_PREFIX_PATH. It has an optional param "with_prefix" (True by default). <issue #11>
+
+## [0.6.2] - 2020-05-28
 #### Added
 - Added a calendar function to get weeks numbers with format `2020W02`
 
@@ -85,4 +92,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ## [0.1.0] - 2019-10-31
 ### Added
 - `ExecutionEnvironment` object.
-- `CURRENT_ENVIRONMENT` variable (located in `SwissKnife.info.CURRENT_ENVIRONMENT`) that return a ExecutionEnvironment with the current environment setted.
\ No newline at end of file
+- `CURRENT_ENVIRONMENT` variable (located in `SwissKnife.info.CURRENT_ENVIRONMENT`) that return a ExecutionEnvironment with the current environment setted.
diff --git a/SwissKnife/gcloud/GCloudStorage.py b/SwissKnife/gcloud/GCloudStorage.py
index 765e715..b724479 100644
--- a/SwissKnife/gcloud/GCloudStorage.py
+++ b/SwissKnife/gcloud/GCloudStorage.py
@@ -1,4 +1,5 @@
 import sys
+import os
 import logging
 import google.cloud.storage as gcloud
 
@@ -138,7 +139,7 @@ class GCloudStorage:
         return blob
     
     @staticmethod
-    def get_storage_complete_file_path(file_name: str,
+    def get_storage_complete_file_path(file_name: str=None,
                                        file_path: str=None,
                                        with_bucket: bool=False,
                                        with_prefix: bool=True,
@@ -158,21 +159,26 @@ class GCloudStorage:
         :return: Complete path of a file stored in gcloud
         :rtype: str
         """
-        bucket_name = f'{BUCKET_NAME}/' if with_bucket else ''
-        file_prefix = f'{BUCKET_PATH_PREFIX}/' if with_prefix and BUCKET_PATH_PREFIX else ''
-        path = f'{file_path}/' if file_path else ''
+        bucket_name = BUCKET_NAME if with_bucket else ''
+        file_prefix = BUCKET_PATH_PREFIX if with_prefix and BUCKET_PATH_PREFIX else ''
+        final_file_path = file_path if file_path else ''
         gs_prefix = 'gs://' if with_gs else ''
+        final_file_name = file_name if file_name else ''
         
-        return f'{gs_prefix}{bucket_name}{file_prefix}{path}{file_name}'
+        return os.path.join(gs_prefix, bucket_name, file_prefix, final_file_path, final_file_name)
 
-    def list_blobs(self, storage_path: str) -> "Iterator":
+    def list_blobs(self, storage_path: str, with_prefix : bool = True) -> "Iterator":
         """Lists all the files that exists in the specified path.
         This is similar to GNU's `ls` command. Returns an iterator
         that should be treated later on.
 
-        :param storage_path: Parent path from which files will be listed
+        :param storage_path: Parent path from which files will be listed(without slash at the end)
         :type storage_path: str
+        :param with_prefix: this adds or not the BUCKET_PREFIX_PATH to the resulting path
+        :type with_prefix: bool
         :return: Iterator with blobs contained in the parent path
         :rtype: "Iterator"
         """
-        return self.bucket.list_blobs(prefix=storage_path)
\ No newline at end of file
+
+        list_prefix = GCloudStorage.get_storage_complete_file_path(file_path=storage_path, with_prefix=with_prefix, with_gs=False)
+        return self.bucket.list_blobs(prefix=list_prefix)
\ No newline at end of file

GCloudStorage.list_blobs don't use BUCKET_PREFIX_PATH
**Describe the bug**
Currently, GCloudStorage.list_blobs function don't use BUCKET_PREFIX_PATH. So, the result of "list_blobs" will be incorrect.

**To Reproduce**
Steps to reproduce the behavior:
1. For example, export the variable *BUCKET_PATH=gs://example-bucket/prefix-path*
2. Execute list_blobs on *storage_path* "path-to-list".
5. It will list "gs://example-bucket/path-to-list"

**Expected behavior**
Using the parameters of the previous example, the result must have the listing of the path "gs://example-bucket/prefix-path/path-to-list".

**Desktop (please complete the following information):**
 - OS: Ubuntu

**Python version:**
Python 3.6.9

diff --git a/tests/gcloud/test_GCloudStorage.py b/tests/gcloud/test_GCloudStorage.py
index 7eabf53..ceedfa1 100644
--- a/tests/gcloud/test_GCloudStorage.py
+++ b/tests/gcloud/test_GCloudStorage.py
@@ -3,6 +3,7 @@ import imp
 import unittest
 import SwissKnife
 import tests.test_utils as test_utils
+from unittest.mock import MagicMock
 
 from unittest import mock
 from SwissKnife.gcloud.GCloudStorage import GCloudStorage
@@ -47,6 +48,17 @@ class test_GCloudStorage(unittest.TestCase):
                                                               with_prefix=False)
         
         self.assertEqual(expected, result)
+
+    def test_path_without_file_name(self):
+        file_path = 'random/path'
+        expected = f'gs://fancy-bucket/{file_path}/'
+                
+        result = GCloudStorage.get_storage_complete_file_path(
+                                                              file_path=file_path,
+                                                              with_bucket=True,
+                                                              with_prefix=False
+                                                             )
+        self.assertEqual(expected, result)
     
     @mock.patch('SwissKnife.gcloud.GCloudStorage.gcloud')
     def test_correct_data_type_to_upload(self, mock_gcloud):
@@ -62,8 +74,7 @@ class test_GCloudStorage(unittest.TestCase):
                                                           dt,
                                                           file_path,
                                                           file_name))
-        
-        
+
     @mock.patch('SwissKnife.gcloud.GCloudStorage.gcloud')
     def test_incorrect_data_type_to_upload(self, mock_gcloud):
         gc = GCloudStorage()
@@ -79,9 +90,51 @@ class test_GCloudStorage(unittest.TestCase):
                                     dt,
                                     file_path,
                                     file_name)
-    
+
+    @mock.patch('SwissKnife.gcloud.GCloudStorage.gcloud')
+    def test_valid_path_in_list_blobs_with_prefix(self, mock_gcloud):
+
+
+        storage_path = 'random_path'
+        expected = f'{self.bucket_path_prefix}/{storage_path}/'
+
+        def assert_path_in_list_blobs(prefix):
+
+            self.assertEqual(prefix, expected)
+
+        mocked_bucket = MagicMock()
+        mocked_bucket.list_blobs = assert_path_in_list_blobs
+        
+        gc = GCloudStorage()
+        gc.bucket = mocked_bucket
+
+        gc.list_blobs(storage_path)
+
+    @mock.patch('SwissKnife.gcloud.GCloudStorage.gcloud')
+    def test_valid_path_in_list_blobs_without_prefix(self, mock_gcloud):
+
+
+        storage_path = 'random_path'
+        expected = f'{storage_path}/'
+
+        def assert_path_in_list_blobs(prefix):
+
+            self.assertEqual(prefix, expected)
+
+        mocked_bucket = MagicMock()
+        mocked_bucket.list_blobs = assert_path_in_list_blobs
+        
+        gc = GCloudStorage()
+        gc.bucket = mocked_bucket
+
+        gc.list_blobs(storage_path, with_prefix=False)
+
+
+
+
     """
         The rest of methods are not tested in this class, as they are mere
         rewrittings of code provided by Google. This tests would require, 
         as well, to have a working internet connection and a configured SA.
-    """
\ No newline at end of file
+    """
+

pip install -e .[all]
parse_log_pytest
pytest
nose pytest
apt-get update apt-get install -y gcc musl-dev
3.6
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///opt/conda/conda-bld/attrs_1642510447205/work
cachetools==4.2.4
certifi==2021.5.30
charset-normalizer==2.0.12
coverage==4.5.4
fastavro==0.22.7
google-api-core==2.8.2
google-auth==1.35.0
google-cloud-core==1.7.3
google-cloud-storage==1.23.0
google-resumable-media==0.5.1
googleapis-common-protos==1.56.3
idna==3.10
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1631916693255/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
more-itertools @ file:///tmp/build/80754af9/more-itertools_1637733554872/work
nose==1.3.7
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
pluggy @ file:///tmp/build/80754af9/pluggy_1615976315926/work
protobuf==3.19.6
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pyasn1==0.5.1
pyasn1-modules==0.3.0
pyparsing @ file:///tmp/build/80754af9/pyparsing_1635766073266/work
pytest==6.2.4
requests==2.27.1
rsa==4.9
six==1.17.0
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
typing_extensions @ file:///opt/conda/conda-bld/typing_extensions_1647553014482/work
-e git+https://github.com/urbandataanalytics/SwissKnife.git@a4024cc0ebb76970eeb5f06c72fac72ab510281e#egg=UDASwissKnife
urllib3==1.26.20
zipp @ file:///tmp/build/80754af9/zipp_1633618647012/work

name: SwissKnife
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=21.4.0=pyhd3eb1b0_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - importlib-metadata=4.8.1=py36h06a4308_0
  - importlib_metadata=4.8.1=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - more-itertools=8.12.0=pyhd3eb1b0_0
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=21.3=pyhd3eb1b0_0
  - pip=21.2.2=py36h06a4308_0
  - pluggy=0.13.1=py36h06a4308_0
  - py=1.11.0=pyhd3eb1b0_0
  - pyparsing=3.0.4=pyhd3eb1b0_0
  - pytest=6.2.4=py36h06a4308_2
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - typing_extensions=4.1.1=pyh06a4308_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.6.0=pyhd3eb1b0_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - cachetools==4.2.4
      - charset-normalizer==2.0.12
      - coverage==4.5.4
      - fastavro==0.22.7
      - google-api-core==2.8.2
      - google-auth==1.35.0
      - google-cloud-core==1.7.3
      - google-cloud-storage==1.23.0
      - google-resumable-media==0.5.1
      - googleapis-common-protos==1.56.3
      - idna==3.10
      - nose==1.3.7
      - protobuf==3.19.6
      - pyasn1==0.5.1
      - pyasn1-modules==0.3.0
      - requests==2.27.1
      - rsa==4.9
      - six==1.17.0
      - urllib3==1.26.20
prefix: /opt/conda/envs/SwissKnife

tests/gcloud/test_GCloudStorage.py::test_GCloudStorage::test_path_without_file_name tests/gcloud/test_GCloudStorage.py::test_GCloudStorage::test_valid_path_in_list_blobs_with_prefix tests/gcloud/test_GCloudStorage.py::test_GCloudStorage::test_valid_path_in_list_blobs_without_prefix
tests/gcloud/test_GCloudStorage.py::test_GCloudStorage::test_correct_data_type_to_upload tests/gcloud/test_GCloudStorage.py::test_GCloudStorage::test_incorrect_data_type_to_upload tests/gcloud/test_GCloudStorage.py::test_GCloudStorage::test_path_complete_with_bucket_with_prefix tests/gcloud/test_GCloudStorage.py::test_GCloudStorage::test_path_complete_with_bucket_without_prefix tests/gcloud/test_GCloudStorage.py::test_GCloudStorage::test_path_complete_without_bucket_with_prefix
SwissKnife/gcloud/GCloudStorage.py CHANGELOG.md
SwissKnife/gcloud/GCloudStorage.py CHANGELOG.md