diff --git a/Gemfile b/Gemfile
index 5556ddc7afd73ccb7097d1dba7c5c31ab8d0f809..ca3cf49a68b4006dfb8ff49d24122acc11e8bf7e 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,5 +4,5 @@ source 'https://rubygems.org'
 
 git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
 
-# Specify your gem's dependencies in excelsior.gemspec
+# Specify your gem's dependencies in excelsieur.gemspec
 gemspec
diff --git a/Gemfile.lock b/Gemfile.lock
index be055d21bce4012a48e63147e1e29b928688e021..30338ac4714f3bbcdd1ebbdbc82b19d6fd991e8f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,7 @@
 PATH
   remote: .
   specs:
-    excelsior (0.1.0)
+    excelsieur (0.1.0)
       activerecord (>= 4.0.0)
       rails (>= 4.0.0)
       simple_xlsx_reader (~> 1.0.2)
@@ -142,7 +142,7 @@ PLATFORMS
 
 DEPENDENCIES
   bundler (~> 1.16)
-  excelsior!
+  excelsieur!
   minitest (~> 5.0)
   rake (~> 10.0)
   rubocop (~> 0.56.0)
diff --git a/README.md b/README.md
index 00eef0d0eb649c8191624f7e2a8991d0e1a79945..ca868523ada42a9dbffc203e6d359f7609c94acb 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-<img src="docs/excelsior-logo.png" width="480">
+<img src="docs/excelsieur-logo.png" width="480">
 
 ---
 
@@ -9,7 +9,7 @@ A straightforward way to import data from an excel sheet into your ruby app.
 Add this line to your application's Gemfile:
 
 ```ruby
-gem 'excelsior'
+gem 'excelsieur'
 ```
 
 And then execute:
@@ -18,14 +18,14 @@ And then execute:
 
 Or install it yourself as:
 
-    $ gem install excelsior
+    $ gem install excelsieur
 
 ## How to use it
 
-Create a class which declares how columns from an excel sheet map to your ruby object model by extending from the `Excelsior::Importer` class:
+Create a class which declares how columns from an excel sheet map to your ruby object model by extending from the `Excelsieur::Importer` class:
 
 ```ruby
-class UserImporter < Excelsior::Importer
+class UserImporter < Excelsieur::Importer
   # declare the source file
   source "static/ftp/users.xlsx"
 
@@ -44,7 +44,7 @@ import = UserImport.new
 import.run # calls User.create!(row) for each row
 ```
 
-The result is an instance of `Excelsior::Result`:
+The result is an instance of `Excelsieur::Result`:
 
 ```ruby
 result = import.run
@@ -53,7 +53,7 @@ result.status
 result.errors
 # => { missing_column: [], model: [] }
 result.report
-# => #<struct Excelsior::Report inserted=2, failed=0>
+# => #<struct Excelsieur::Report inserted=2, failed=0>
 ```
 
 ### Model validation
@@ -67,7 +67,7 @@ import = UserImport.new
 import.run
 
 import.errors[:model]
-# => [#<struct Excelsior::Error row=3, errors=["First name can't be blank"]>]
+# => [#<struct Excelsieur::Error row=3, errors=["First name can't be blank"]>]
 ```
 
 ### Report
@@ -80,7 +80,7 @@ import = UserImport.new
 import.run
 
 import.report
-# => #<struct Excelsior::Report inserted=2, failed=1>
+# => #<struct Excelsieur::Report inserted=2, failed=1>
 
 import.total
 # => 3
@@ -91,7 +91,7 @@ import.total
 When setting `transaction true` no record is inserted if any one of them has an error.
 
 ```ruby
-class UserImporter < Excelsior::Importer
+class UserImporter < Excelsieur::Importer
   # declare the source file
   source "static/ftp/users.xlsx"
 
@@ -153,7 +153,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
 
 ## Contributing
 
-Bug reports and pull requests are welcome on GitHub at https://github.com/manufaktor/excelsior.
+Bug reports and pull requests are welcome on GitHub at https://github.com/panter/excelsieur.
 
 ## License
 
diff --git a/bin/console b/bin/console
index 2b65065a63eb8f897d936dcba22d4b7747f55a85..8813021f3ed5ea37df8aefde8e5d680c093d711f 100755
--- a/bin/console
+++ b/bin/console
@@ -2,7 +2,7 @@
 # frozen_string_literal: true
 
 require 'bundler/setup'
-require 'excelsior'
+require 'excelsieur'
 
 # You can add fixtures and/or initialization code here to make experimenting
 # with your gem easier. You can also use a different console, if you like.
diff --git a/docs/excelsieur-logo.png b/docs/excelsieur-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f798031b68143571a14b27b3bf995bec3e69383
Binary files /dev/null and b/docs/excelsieur-logo.png differ
diff --git a/docs/excelsior-logo.png b/docs/excelsior-logo.png
deleted file mode 100644
index 049fe6d36df9617d14af6006334ca4b28b597d65..0000000000000000000000000000000000000000
Binary files a/docs/excelsior-logo.png and /dev/null differ
diff --git a/excelsior.gemspec b/excelsieur.gemspec
similarity index 91%
rename from excelsior.gemspec
rename to excelsieur.gemspec
index 46af335a5a3ae14e0ec1b2d4704f33dc78b0b143..1b21bd2555fcdf0c3cf9feacaf9928ed2c91dd31 100644
--- a/excelsior.gemspec
+++ b/excelsieur.gemspec
@@ -2,18 +2,18 @@
 
 lib = File.expand_path('lib', __dir__)
 $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
-require 'excelsior/version'
+require 'excelsieur/version'
 
 Gem::Specification.new do |spec|
-  spec.name          = 'excelsior'
-  spec.version       = Excelsior::VERSION
+  spec.name          = 'excelsieur'
+  spec.version       = Excelsieur::VERSION
   spec.authors       = ['Immanuel Häussermann', 'Alexis Reigel']
   spec.email         = ['hai@panter.ch', 'lex@panter.ch']
 
   spec.summary       = 'Helps you import data from an excel sheet'
   spec.description   = 'Provides a concise DSL to map, validate and import data ' \
                        'from an excel sheet into your ruby app'
-  spec.homepage      = 'https://git.panter.ch/open-source/excelsior'
+  spec.homepage      = 'https://git.panter.ch/open-source/excelsieur'
   spec.license       = 'MIT'
 
   spec.files         = `git ls-files -z`.split("\x0").reject do |f|
diff --git a/lib/excelsieur.rb b/lib/excelsieur.rb
new file mode 100644
index 0000000000000000000000000000000000000000..85ca144872588a4e8b6eb4634437d951b3cd8c6e
--- /dev/null
+++ b/lib/excelsieur.rb
@@ -0,0 +1,6 @@
+# frozen_string_literal: true
+
+require 'excelsieur/version'
+
+module Excelsieur
+end
diff --git a/lib/excelsior/error.rb b/lib/excelsieur/error.rb
similarity index 79%
rename from lib/excelsior/error.rb
rename to lib/excelsieur/error.rb
index aefa2b9fea9da822fe8e56a51e728f60052a691f..0dcb99db70b9ddac09d3e9ee463c194e112321b7 100644
--- a/lib/excelsior/error.rb
+++ b/lib/excelsieur/error.rb
@@ -1,5 +1,5 @@
 # frozen_string_literal: true
 
-module Excelsior
+module Excelsieur
   Error = Struct.new(:row, :errors)
 end
diff --git a/lib/excelsior/import.rb b/lib/excelsieur/import.rb
similarity index 92%
rename from lib/excelsior/import.rb
rename to lib/excelsieur/import.rb
index cd81e3e479b4847c68ef8fdbcbd9f1304af5b39e..36115eb472cd19bca816b7b6867f534c693a23ea 100644
--- a/lib/excelsior/import.rb
+++ b/lib/excelsieur/import.rb
@@ -3,14 +3,14 @@
 require 'simple_xlsx_reader'
 require 'rails'
 require 'active_record'
-require 'excelsior/source'
-require 'excelsior/mapping'
-require 'excelsior/error'
-require 'excelsior/report'
-require 'excelsior/transaction'
-require 'excelsior/result'
-
-module Excelsior
+require 'excelsieur/source'
+require 'excelsieur/mapping'
+require 'excelsieur/error'
+require 'excelsieur/report'
+require 'excelsieur/transaction'
+require 'excelsieur/result'
+
+module Excelsieur
   class Import
     include Source
     include Mapping
diff --git a/lib/excelsior/mapping.rb b/lib/excelsieur/mapping.rb
similarity index 96%
rename from lib/excelsior/mapping.rb
rename to lib/excelsieur/mapping.rb
index d41ccee9339e78e55ac2e25929f244687a351403..3b0c130ef9385ed575e9ddb4f4e6834377eaac5a 100644
--- a/lib/excelsior/mapping.rb
+++ b/lib/excelsieur/mapping.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-module Excelsior
+module Excelsieur
   module Mapping
     def self.included(host_class)
       host_class.extend ClassMethods
diff --git a/lib/excelsior/report.rb b/lib/excelsieur/report.rb
similarity index 94%
rename from lib/excelsior/report.rb
rename to lib/excelsieur/report.rb
index ecd2acf3402bc6c213b64d6425069cc26a91682a..76bb9dd9090a315e1b2a1d8371d54f5a266e1ae5 100644
--- a/lib/excelsior/report.rb
+++ b/lib/excelsieur/report.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-module Excelsior
+module Excelsieur
   Report = Struct.new(:expected, :inserted, :failed) do
     def initialize(*args)
       super(*args)
diff --git a/lib/excelsior/result.rb b/lib/excelsieur/result.rb
similarity index 97%
rename from lib/excelsior/result.rb
rename to lib/excelsieur/result.rb
index c0ff721ec8f61c1189b2b463e6b6564566aa1407..d5746f444d44e95f0e1ef2e4a6cb2da82fbd901f 100644
--- a/lib/excelsior/result.rb
+++ b/lib/excelsieur/result.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-module Excelsior
+module Excelsieur
   class Result
     module Statuses
       PENDING = :pending
diff --git a/lib/excelsior/source.rb b/lib/excelsieur/source.rb
similarity index 93%
rename from lib/excelsior/source.rb
rename to lib/excelsieur/source.rb
index 8b9648b309c7b4d4283b5879078040fdf07c3d54..db846dae278bf068c54ae3f752c06f0d994cae84 100644
--- a/lib/excelsior/source.rb
+++ b/lib/excelsieur/source.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-module Excelsior
+module Excelsieur
   module Source
     def self.included(host_class)
       host_class.extend ClassMethods
diff --git a/lib/excelsior/transaction.rb b/lib/excelsieur/transaction.rb
similarity index 94%
rename from lib/excelsior/transaction.rb
rename to lib/excelsieur/transaction.rb
index e0950e76c15be5893ffbb0aa5097ef63cfd309f8..41fdb74ade821e52bb92441d65c593c04c4b28ba 100644
--- a/lib/excelsior/transaction.rb
+++ b/lib/excelsieur/transaction.rb
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-module Excelsior
+module Excelsieur
   module Transaction
     def self.included(host_class)
       host_class.extend ClassMethods
diff --git a/lib/excelsior/version.rb b/lib/excelsieur/version.rb
similarity index 75%
rename from lib/excelsior/version.rb
rename to lib/excelsieur/version.rb
index 5e6ab00c6cf26ea56300474ac91ec08e70290038..1fc24abd8a255460a8d24687c248aef5f37f06c5 100644
--- a/lib/excelsior/version.rb
+++ b/lib/excelsieur/version.rb
@@ -1,5 +1,5 @@
 # frozen_string_literal: true
 
-module Excelsior
+module Excelsieur
   VERSION = '0.1.0'
 end
diff --git a/lib/excelsior.rb b/lib/excelsior.rb
deleted file mode 100644
index 51f6da223aa021914e6be1df2596bba2cde2b962..0000000000000000000000000000000000000000
--- a/lib/excelsior.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-# frozen_string_literal: true
-
-require 'excelsior/version'
-
-module Excelsior
-end
diff --git a/test/excelsior_test.rb b/test/excelsieur_test.rb
similarity index 90%
rename from test/excelsior_test.rb
rename to test/excelsieur_test.rb
index c9e3d6f62feba2de53be9069de69ca7377922df1..6745725e42570f0ef4012146f23b3fca6ec3623c 100644
--- a/test/excelsior_test.rb
+++ b/test/excelsieur_test.rb
@@ -1,17 +1,17 @@
 # frozen_string_literal: true
 
 require 'test_helper'
-require 'excelsior/import'
+require 'excelsieur/import'
 
 class User < ActiveRecord::Base
   validates :first_name, presence: true
 end
 
-describe Excelsior do
+describe Excelsieur do
   before do
     Object.send(:remove_const, :UserImport) if Object.constants.include?(:UserImport)
 
-    class UserImport < Excelsior::Import
+    class UserImport < Excelsieur::Import
       source 'test/files/complete.xlsx'
 
       map 'Vorname', to: :first_name
@@ -23,7 +23,7 @@ describe Excelsior do
   end
 
   it 'has a version number' do
-    refute_nil ::Excelsior::VERSION
+    refute_nil ::Excelsieur::VERSION
   end
 
   describe 'source' do
@@ -50,7 +50,7 @@ describe Excelsior do
       before do
         Object.send(:remove_const, :UserImport) if Object.constants.include?(:UserImport)
 
-        class UserImport < Excelsior::Import
+        class UserImport < Excelsieur::Import
           source 'test/files/complete.xlsx'
           transaction true
 
@@ -132,8 +132,8 @@ describe Excelsior do
 
       it 'returns a result object' do
         result = @import.run
-        assert_equal Excelsior::Result::Statuses::SUCCEEDED, result.status
-        assert_equal Excelsior::Report.new(2, 2, 0), result.report
+        assert_equal Excelsieur::Result::Statuses::SUCCEEDED, result.status
+        assert_equal Excelsieur::Report.new(2, 2, 0), result.report
         assert_equal({ missing_column: [], model: [] }, result.errors)
       end
     end
@@ -158,8 +158,8 @@ describe Excelsior do
 
       it 'returns a result object' do
         result = @import.run { |v| v }
-        assert_equal Excelsior::Result::Statuses::SUCCEEDED, result.status
-        assert_equal Excelsior::Report.new(2, 2, 0), result.report
+        assert_equal Excelsieur::Result::Statuses::SUCCEEDED, result.status
+        assert_equal Excelsieur::Report.new(2, 2, 0), result.report
         assert_equal({ missing_column: [], model: [] }, result.errors)
       end
     end
@@ -180,7 +180,7 @@ describe Excelsior do
     it 'returns the model validation errors' do
       import = UserImport.new('test/files/missing-first-name.xlsx').tap(&:run)
       assert import.errors[:model].any?
-      assert_equal import.errors[:model], [Excelsior::Error.new(3, ["First name can't be blank"])]
+      assert_equal import.errors[:model], [Excelsieur::Error.new(3, ["First name can't be blank"])]
     end
   end
 
diff --git a/test/test_helper.rb b/test/test_helper.rb
index ec37b64678d8f6df583bb72c155c290b4b83db9c..2aadaffcc09c0ffb7a27166bcd072f10be449778 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
-require 'excelsior'
+require 'excelsieur'
 require 'active_record'
 require 'minitest/autorun'