diff --git a/README.md b/README.md
index 85f6fe6..6fda755 100644
--- a/README.md
+++ b/README.md
@@ -87,7 +87,7 @@ Concatenate datasets:
 
 ```py
 >>> other = Dataset(range(3)).map(lambda x: 1 + x ** 2)
->>> other.concatenate(data).take(5)
+>>> other.concat(data).take(5)
 [1, 2, 5, 0, 1]
 ```
 
diff --git a/examples/serialize_pipeline.py b/examples/serialize_pipeline.py
index bdaf1a5..9247d43 100644
--- a/examples/serialize_pipeline.py
+++ b/examples/serialize_pipeline.py
@@ -23,7 +23,7 @@ if __name__ == '__main__':
     en_test = TextDataset('test.en')
 
     # build vocabulary
-    token_to_index = build_vocab(en_train.concatenate(en_test).map(str.split).flat_map(lambda x: x))
+    token_to_index = build_vocab(en_train.concat(en_test).map(str.split).flat_map(lambda x: x))
 
     # process training data
     en_train = en_train.map(str.split).map(lambda x: [token_to_index[token] for token in x])
diff --git a/pipelib/core.py b/pipelib/core.py
index e93a646..b37a695 100644
--- a/pipelib/core.py
+++ b/pipelib/core.py
@@ -64,7 +64,7 @@ class Dataset:
             yield from zip(dataset, *others)
         return PipelinedDataset(self, f)
 
-    def concatenate(self, *others):
+    def concat(self, *others):
         assert all(isinstance(other, pipelib.Dataset) for other in others)
 
         def f(dataset):

Shorten concatenate method
- [x] rename `Dataset.concatenate` to `Dataset.concat`
diff --git a/tests/test_core.py b/tests/test_core.py
index d3165ba..a9cc5e1 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -106,11 +106,11 @@ class DatasetTestCase(TestCase):
 
         self.check_correct_pipelined_dataset(data, self.base)
 
-    def test_concatenate(self):
+    def test_concat(self):
         data1 = self.data.map(lambda x: x ** 2)
         data2 = self.data.map(lambda x: x / 2)
 
-        data = data1.concatenate(data2)
+        data = data1.concat(data2)
         expected = [x ** 2 for x in self.base] + [x / 2 for x in self.base]
 
         self.check_for_loop(data, expected)

pip install -e .[dev]
parse_log_pytest
pytest
pytest
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///croot/attrs_1668696182826/work
certifi @ file:///croot/certifi_1671487769961/work/certifi
cloudpickle==2.2.1
flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1648562407465/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
packaging @ file:///croot/packaging_1671697413597/work
-e git+https://github.com/yasufumy/pipelib.git@c7ab06fd61b2309ec628ae667e7946ded304e695#egg=pipelib
pluggy @ file:///tmp/build/80754af9/pluggy_1648042572264/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pytest==7.1.2
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
typing_extensions @ file:///croot/typing_extensions_1669924550328/work
zipp @ file:///croot/zipp_1672387121353/work

name: pipelib
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=22.1.0=py37h06a4308_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - flit-core=3.6.0=pyhd3eb1b0_0
  - importlib-metadata=4.11.3=py37h06a4308_0
  - importlib_metadata=4.11.3=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=22.0=py37h06a4308_0
  - pip=22.3.1=py37h06a4308_0
  - pluggy=1.0.0=py37h06a4308_1
  - py=1.11.0=pyhd3eb1b0_0
  - pytest=7.1.2=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py37h06a4308_0
  - typing_extensions=4.4.0=py37h06a4308_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.11.0=py37h06a4308_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - cloudpickle==2.2.1
prefix: /opt/conda/envs/pipelib

tests/test_core.py::DatasetTestCase::test_concat
tests/test_core.py::DatasetTestCase::test_all tests/test_core.py::DatasetTestCase::test_apply tests/test_core.py::DatasetTestCase::test_batch tests/test_core.py::DatasetTestCase::test_filter tests/test_core.py::DatasetTestCase::test_first tests/test_core.py::DatasetTestCase::test_flat_map tests/test_core.py::DatasetTestCase::test_load tests/test_core.py::DatasetTestCase::test_map tests/test_core.py::DatasetTestCase::test_method_chain tests/test_core.py::DatasetTestCase::test_repeat tests/test_core.py::DatasetTestCase::test_save tests/test_core.py::DatasetTestCase::test_shuffle tests/test_core.py::DatasetTestCase::test_take tests/test_core.py::DatasetTestCase::test_zip tests/test_core.py::TextDatasetTestCase::test_text tests/test_core.py::DirDatasetTestCase::test_directory
pipelib/core.py README.md examples/serialize_pipeline.py
pipelib/core.py README.md examples/serialize_pipeline.py